From 58c2e2f94ed27744f8e534550ba6922afacc6299 Mon Sep 17 00:00:00 2001 From: Manish Date: Wed, 29 Mar 2023 13:16:23 +1100 Subject: [PATCH] Imp: check if input date is valid in submitted exercise log --- index.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/index.js b/index.js index 4db50ae..e04abf6 100644 --- a/index.js +++ b/index.js @@ -65,11 +65,21 @@ app.get("/api/users", (req, res) => { }); }); +const isValidDate = (dateString) => { + if (!Number.isNaN(Number(dateString))) return true; + const date = new Date(dateString); + return !Number.isNaN(date.getTime()); +}; + app.post("/api/users/:_id/exercises", (req, res) => { const _id = req.params._id; const description = req.body.description; const duration = req.body.duration; const date = req.body.date ? req.body.date : new Date().toDateString(); + if (!isValidDate(date)) { + res.status(400); + return res.json({ error: `Input date: '${date}' is not valid` }); + } exerciseLogs .exists({ _id: _id }) .then((userExists) => {