Impl: Adding exercise logs to DB

This commit is contained in:
Manish 2023-03-29 13:06:13 +11:00
parent a318b8ffec
commit f223697b88

View File

@ -65,6 +65,61 @@ app.get("/api/users", (req, res) => {
}); });
}); });
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();
exerciseLogs
.exists({ _id: _id })
.then((userExists) => {
if (userExists) {
exerciseLogs
.updateOne(
{ _id: _id },
{
$push: {
log: {
description: description,
duration: duration,
date: date,
},
},
},
{ runValidators: true }
)
.then((excLogs) => {
if (excLogs.modifiedCount) {
res.json({
_id: _id,
description: description,
duration: duration,
date: date,
});
} else {
res.json(500);
res.json({
error: `Failed to add exercise logs to database:\n${excLogs}`,
});
}
})
.catch((err) => {
res.status(500);
res.json({
error: `Failed to add exercise logs to database:\n${err}`,
});
});
} else {
res.status(403);
res.json({ error: `No user with id: ${_id} exists` });
}
})
.catch((err) => {
res.status(500);
res.json({ error: "Failed to check user in database" });
});
});
const listener = app.listen(PORT, () => { const listener = app.listen(PORT, () => {
console.log("Your app is listening on port " + listener.address().port); console.log("Your app is listening on port " + listener.address().port);
}); });