feat: add preset in server

This commit is contained in:
Wentao Lyu 2023-04-02 04:14:42 +08:00
parent d76efa7874
commit 80ef5008dd
8 changed files with 224 additions and 72 deletions

View file

@ -0,0 +1,48 @@
const express = require('express');
const router = express.Router();
const { getPreset, getPresets, savePreset, deletePresets } = require('../../models');
const crypto = require('crypto');
router.get('/', async (req, res) => {
const presets = (await getPresets(req?.session?.user?.username)).map(preset => {
return preset.toObject();
});
res.status(200).send(presets);
});
router.post('/', async (req, res) => {
const update = req.body || {};
update.presetId = update?.presetId || crypto.randomUUID();
try {
await savePreset(req?.session?.user?.username, update);
const presets = (await getPresets(req?.session?.user?.username)).map(preset => {
return preset.toObject();
});
res.status(201).send(presets);
} catch (error) {
console.error(error);
res.status(500).send(error);
}
});
router.post('/delete', async (req, res) => {
const { arg } = req.body;
try {
await deletePresets(req?.session?.user?.username, arg);
const presets = (await getPresets(req?.session?.user?.username)).map(preset => {
return preset.toObject();
});
res.status(201).send(presets);
// res.status(201).send(dbResponse);
} catch (error) {
console.error(error);
res.status(500).send(error);
}
});
module.exports = router;