ai / api /server /routes /presets.js
Marco Beretta
LibreChat upload repo
3b6afc0
raw
history blame
No virus
1.33 kB
const express = require('express');
const router = express.Router();
const { getPresets, savePreset, deletePresets } = require('../../models');
const crypto = require('crypto');
const requireJwtAuth = require('../../middleware/requireJwtAuth');
router.get('/', requireJwtAuth, async (req, res) => {
const presets = (await getPresets(req.user.id)).map((preset) => {
return preset;
});
res.status(200).send(presets);
});
router.post('/', requireJwtAuth, async (req, res) => {
const update = req.body || {};
update.presetId = update?.presetId || crypto.randomUUID();
try {
await savePreset(req.user.id, update);
const presets = (await getPresets(req.user.id)).map((preset) => {
return preset;
});
res.status(201).send(presets);
} catch (error) {
console.error(error);
res.status(500).send(error);
}
});
router.post('/delete', requireJwtAuth, async (req, res) => {
let filter = {};
const { presetId } = req.body.arg || {};
if (presetId) {
filter = { presetId };
}
console.log('delete preset filter', filter);
try {
await deletePresets(req.user.id, filter);
const presets = await getPresets(req.user.id);
res.status(201).send(presets);
} catch (error) {
console.error(error);
res.status(500).send(error);
}
});
module.exports = router;