From 0c4d91c6036d83e698005e8ac447bbacd0779b53 Mon Sep 17 00:00:00 2001 From: "D. Berge" Date: Sat, 22 Aug 2020 20:28:50 +0200 Subject: [PATCH] Implement event DELETE middleware --- lib/www/server/api/middleware/event/delete.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lib/www/server/api/middleware/event/delete.js b/lib/www/server/api/middleware/event/delete.js index e69de29..cde60fd 100644 --- a/lib/www/server/api/middleware/event/delete.js +++ b/lib/www/server/api/middleware/event/delete.js @@ -0,0 +1,34 @@ + +const { event } = require('../../../lib/db'); + +module.exports = async function (req, res, next) { + + try { + const payload = Object.assign({}, req.body); + + if (req.params.type && req.params.id) { + payload.type = req.params.type; + payload.id = req.params.id; + } + + if (req.params.labels) { + payload.labels = req.params.labels.split(";"); + } + + if (!req.meta.isLabel) { + // User is requesting that we delete the whole event, + // not just labels + // FIXME NOTE Removal of labels would be best done via + // a PUT request. + delete payload.labels + } + + await event.del(req.params.project, payload, req.query); + res.status(204).send(); + next(); + } catch (err) { + console.error(err); + next(err); + } + +};