File size: 1,331 Bytes
3b6afc0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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;