diff options
| author | Maksymilian Jopek <maks@jopek.eu> | 2023-03-28 20:14:37 +0200 |
|---|---|---|
| committer | Maksymilian Jopek <maks@jopek.eu> | 2023-03-28 20:14:37 +0200 |
| commit | 4582aee9c51800f7b236fc9d731829c16254429f (patch) | |
| tree | 057c40045beeb7db4599c1bdcf96c4040162c362 /backend/main.js | |
| parent | d44a5a6c4530691a63204b2231f04e2bcf287907 (diff) | |
| download | aparatus-4582aee9c51800f7b236fc9d731829c16254429f.tar.gz aparatus-4582aee9c51800f7b236fc9d731829c16254429f.tar.zst aparatus-4582aee9c51800f7b236fc9d731829c16254429f.zip | |
Add backend code to repo
Diffstat (limited to 'backend/main.js')
| -rw-r--r-- | backend/main.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/backend/main.js b/backend/main.js new file mode 100644 index 0000000..ae330b1 --- /dev/null +++ b/backend/main.js @@ -0,0 +1,46 @@ +const express = require("express"); +const formidable = require('formidable'); +const fs = require("fs").promises + +const app = express(); +app.use(express.static('static')) +app.use(express.json()); +const PORT = process.env.PORT || 8000; +const uploadDir = __dirname + "/static/upload" + +app.get('/', () => { + +}) +app.post('/upload', (req, res, next) => { + const form = formidable({ multiples: true, uploadDir, keepExtensions: true }); + + form.parse(req, (err, fields, files) => { + if (err) { + next(err); + return; + } + res.send("ok"); + console.log({ fields, files }); + }); +}); +// getPathFromName +const gpfn = name => uploadDir + "/" + name +app.post('/delete-files', async (req, res) => { + for (const n of req.body.names) { + await fs.unlink(gpfn(n)) + } + res.send("ok") +}) +app.post('/rename-file', async (req, res) => { + let { nn, on } = req.body + if (!nn.includes('.')) nn += '.' + on.split('.').pop() + await fs.rename(gpfn(on), gpfn(nn)) + res.send("ok") +}) +app.get('/files', async (_, res) => { + res.json(await fs.readdir(__dirname + '/static/upload')) +}); +app.listen(PORT, () => { + console.log("Server listening on port " + PORT); +}) + |
