From ba8274819e848980aece21c2410b838a66df9779 Mon Sep 17 00:00:00 2001 From: cv <34649812+cpvalente@users.noreply.github.com> Date: Sat, 10 Apr 2021 16:11:40 +0200 Subject: [PATCH] bugfix delete first event + error catching --- server/controllers/eventsController.js | 29 +++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/server/controllers/eventsController.js b/server/controllers/eventsController.js index e96bbc0fd..49b55f289 100644 --- a/server/controllers/eventsController.js +++ b/server/controllers/eventsController.js @@ -97,16 +97,25 @@ exports.eventsPut = async (req, res) => { // Create controller for DELETE request to '/events/' // Returns - exports.eventsDelete = async (req, res) => { - if (req.params.id) { - const itemIndex = events.findIndex((e) => e.id == req.params.id); - - if (!itemIndex) res.sendStatus(400); - - // Torbjorn: this syntax is very bad - const e = events.splice(itemIndex, 1); - events = [...events]; - res.sendStatus(200); - } else { + if (!req.params.id) { res.sendStatus(400); } + + const itemIndex = events.findIndex((e) => e.id == req.params.id); + + console.log('found at index', itemIndex); + + // Torbjorn: this syntax is very bad + if (itemIndex === -1) { + res.sendStatus(400); + return; + } + + if (itemIndex === 0) { + const e = events.shift(); + } else { + const e = events.splice(itemIndex, 1); + } + events = [...events]; + res.sendStatus(200); };