Compare commits
2 Commits
1ed6dc6185
...
6b07ef943d
Author | SHA1 | Date |
---|---|---|
oat | 6b07ef943d | |
oat | 73d5962c5c |
|
@ -3,4 +3,5 @@ node_modules
|
||||||
built
|
built
|
||||||
config/config.json
|
config/config.json
|
||||||
*.log
|
*.log
|
||||||
.env
|
.env
|
||||||
|
storage/files/*
|
|
@ -1,14 +1,14 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Index</title>
|
<title>Index</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h1>Hi</h1>
|
<h1>Hi</h1>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -1,37 +1,37 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>list</title>
|
<title>list</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="doc-list">
|
<div id="doc-list">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/axios@0.20.0/dist/axios.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/axios@0.20.0/dist/axios.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
axios.get('/api/list').then(({ data }) => {
|
axios.get('/api/list').then(({ data }) => {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
const el = document.getElementById('doc-list');
|
const el = document.getElementById('doc-list');
|
||||||
for (const doc of data) {
|
for (const doc of data) {
|
||||||
let p = document.createElement('p');
|
let p = document.createElement('p');
|
||||||
p.innerText = `${doc.artist} - ${doc.title} by ${doc.credit}`;
|
p.innerHTML = `${doc.artist} - ${doc.title} by ${doc.credit} <a href="files/${doc.id}.zip">download</a>`;
|
||||||
el.insertAdjacentElement('beforeend', p);
|
el.insertAdjacentElement('beforeend', p);
|
||||||
|
|
||||||
let charts = document.createElement('ul');
|
let charts = document.createElement('ul');
|
||||||
for (const chart of doc.charts) {
|
for (const chart of doc.charts) {
|
||||||
let l = document.createElement('li');
|
let l = document.createElement('li');
|
||||||
l.innerText = `${chart.difficulty} ${chart.rating} - ${chart.name}\n` +
|
l.innerText = `${chart.difficulty} ${chart.rating} - ${chart.name}\n` +
|
||||||
`${chart.steps} steps, ${chart.mines} mines, ${chart.jumps} jumps, ${chart.hands} hands, ${chart.holds} holds, ${chart.rolls} rolls`
|
`${chart.steps} steps, ${chart.mines} mines, ${chart.jumps} jumps, ${chart.hands} hands, ${chart.holds} holds, ${chart.rolls} rolls`
|
||||||
charts.insertAdjacentElement('beforeend', l);
|
charts.insertAdjacentElement('beforeend', l);
|
||||||
}
|
}
|
||||||
el.insertAdjacentElement('beforeend', charts);
|
el.insertAdjacentElement('beforeend', charts);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -19,7 +19,7 @@
|
||||||
const file = document.getElementById('file');
|
const file = document.getElementById('file');
|
||||||
if (file.files.length) {
|
if (file.files.length) {
|
||||||
console.log(file.files[0]);
|
console.log(file.files[0]);
|
||||||
|
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('file', file.files[0]);
|
formData.append('file', file.files[0]);
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -54,6 +54,7 @@ db.then(() => {
|
||||||
app.use(express.urlencoded({extended: true}));
|
app.use(express.urlencoded({extended: true}));
|
||||||
app.use(fileUpload({limits: { fileSize: 50 * 1024 * 1024 }}));
|
app.use(fileUpload({limits: { fileSize: 50 * 1024 * 1024 }}));
|
||||||
app.use(express.static('public', {extensions: ['html', 'htm']}));
|
app.use(express.static('public', {extensions: ['html', 'htm']}));
|
||||||
|
app.use(express.static('storage', {extensions: ['zip']}));
|
||||||
app.use('/assets', express.static('assets'));
|
app.use('/assets', express.static('assets'));
|
||||||
|
|
||||||
app.set('db', db);
|
app.set('db', db);
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
import * as fs from 'fs';
|
|
||||||
|
|
||||||
export function returnStatic(page) {
|
|
||||||
return (req, res) => {
|
|
||||||
fs.readFile(`src/html/${page}`, 'utf8', (err, data) => {
|
|
||||||
if (err) throw err;
|
|
||||||
res.send(data);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -23,7 +23,7 @@ export function run(app) {
|
||||||
storeEntries: true
|
storeEntries: true
|
||||||
});
|
});
|
||||||
|
|
||||||
zip.on('ready', () => {
|
zip.on('ready', async () => {
|
||||||
const smFile = Object.values(zip.entries()).find((f: any) =>
|
const smFile = Object.values(zip.entries()).find((f: any) =>
|
||||||
!f.isDirectory && (f.name.endsWith('.sm'))
|
!f.isDirectory && (f.name.endsWith('.sm'))
|
||||||
);
|
);
|
||||||
|
@ -36,11 +36,23 @@ export function run(app) {
|
||||||
|
|
||||||
logger.info(`${chart.artist} - ${chart.title} was just uploaded`);
|
logger.info(`${chart.artist} - ${chart.title} was just uploaded`);
|
||||||
|
|
||||||
const file = new File(chart);
|
let id = 0;
|
||||||
file.save();
|
for (const f of await File.find({})) {
|
||||||
|
id = Math.max(f.id, id);
|
||||||
|
}
|
||||||
|
chart.id = id + 1;
|
||||||
|
|
||||||
// TODO: filter out _id and __v? possibly more
|
chart.createdAt = new Date();
|
||||||
res.send(chart);
|
|
||||||
|
fs.writeFile('./storage/files/' + (id + 1) + '.zip', file.data, (err) => {
|
||||||
|
if (err) throw err;
|
||||||
|
|
||||||
|
const file = new File(chart);
|
||||||
|
file.save();
|
||||||
|
|
||||||
|
// TODO: filter out _id and __v? possibly more
|
||||||
|
res.send(chart);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
zip.close();
|
zip.close();
|
||||||
|
|
Loading…
Reference in New Issue