Skip to content

Instantly share code, notes, and snippets.

@phpmaps
Created August 7, 2021 21:07
Show Gist options
  • Save phpmaps/be99d298e6a97e0a92ddd19f7db0002d to your computer and use it in GitHub Desktop.
Save phpmaps/be99d298e6a97e0a92ddd19f7db0002d to your computer and use it in GitHub Desktop.
put request
.put(authenticate.verifyUser, (req, res, next) => {
Campsite.findById(req.params.campsiteId)
.then(campsite => {
if (campsite && campsite.comments.id(req.params.commentId)) {
console.log(`Comment author: ${campsite.comments.id(req.params.commentId).author}`);
console.log(`Auth user: ${req.user}`);
if (req.user._id.equals(campsite.comments.id(req.params.commentId).author)) {
if (req.body.rating) {
campsite.comments.id(req.params.commentId).rating = req.body.rating;
}
if (req.body.text) {
campsite.comments.id(req.params.commentId).text = req.body.text;
}
campsite.save()
.then(campsite => {
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.json(campsite);
})
.catch(err => next(err));
} else {
res.statusCode = 403;
res.end("You may only edit comments which you authored.");
}
} else if (!campsite) {
err = new Error(`Campsite ${req.params.campsiteId} not found`);
err.status = 404;
return next(err);
} else {
err = new Error(`Comment ${req.params.commentId} not found`);
err.status = 404;
return next(err);
}
})
.catch(err => next(err));
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment