LibreChat/api/server/routes/presets.js

54 lines
1.4 KiB
JavaScript
Raw Normal View History

2023-04-02 04:14:42 +08:00
const express = require('express');
const router = express.Router();
const { getPresets, savePreset, deletePresets } = require('../../models');
2023-04-02 04:14:42 +08:00
const crypto = require('crypto');
router.get('/', async (req, res) => {
const presets = (await getPresets(req?.session?.user?.username)).map((preset) => {
2023-04-02 04:14:42 +08:00
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) => {
2023-04-02 04:14:42 +08:00
return preset.toObject();
});
res.status(201).send(presets);
} catch (error) {
console.error(error);
res.status(500).send(error);
}
});
router.post('/delete', async (req, res) => {
2023-04-04 01:10:50 +08:00
let filter = {};
const { presetId } = req.body.arg || {};
if (presetId) filter = { presetId };
2023-04-02 04:14:42 +08:00
console.log('delete preset filter', filter);
2023-04-02 04:14:42 +08:00
try {
2023-04-04 01:10:50 +08:00
await deletePresets(req?.session?.user?.username, filter);
2023-04-02 04:14:42 +08:00
const presets = (await getPresets(req?.session?.user?.username)).map(preset => preset.toObject());
// console.log('delete preset response', presets);
2023-04-02 04:14:42 +08:00
res.status(201).send(presets);
// res.status(201).send(dbResponse);
} catch (error) {
console.error(error);
res.status(500).send(error);
}
});
module.exports = router;