diff --git a/server/controllers/post.controller.js b/server/controllers/post.controller.js index e62804c41..3738fde16 100644 --- a/server/controllers/post.controller.js +++ b/server/controllers/post.controller.js @@ -45,6 +45,63 @@ export function addPost(req, res) { res.json({ post: saved }); }); } +export function addComment(req,res){ + if (!req.params.cuid || !req.body.userName ||!req.body.text) { + res.status(403).end(); + } + const {cuid } = req.body + + + const comment = { + _id:new Date(), + userName:req.body.userName, + text:req.body.text, +} +bulkUpdateOps.push({ + updateOne: { + filter: { cuid }, + update: { $set: { comment } }, + } +}) + + + Post.bulkWrite(bulkUpdateOps).exec((err, post)=>{ + if(err){ + res.status(500).send(err); + } + res.status(200).end(); + }) +} +export function editComment(req,res){ + if (!req.params.cuid || !req.body.userName ||!req.body.text||!req.body._id) { + res.status(403).end(); + } + const {cuid,_id} = req.body + const comment = { + _id:_id, + userName:req.body.userName, + text:req.body.text, +} + Post.findOneAndUpdate({cuid,comment:{_id}},{comment},{upsert:true}).exec((err)=>{ + if(err){ + res.status(500).send(err); + } + res.status(200).end(); + }) +} +export function deleteComment(req,res){ + if(!req.params.cuid||!req.body._id){ + res.status(403).end(); + } + const {cuid,_id} = req.body + Post.deleteOne({cuid,comment:{_id}}).exec((err)=>{ + if(err){ + res.status(500).send(err); + } + res.status(200).end(); + }) + +} /** * Get a single post diff --git a/server/models/post.js b/server/models/post.js index e781bf7db..802938d03 100644 --- a/server/models/post.js +++ b/server/models/post.js @@ -7,6 +7,7 @@ const postSchema = new Schema({ content: { type: 'String', required: true }, slug: { type: 'String', required: true }, cuid: { type: 'String', required: true }, + commit :{}, dateAdded: { type: 'Date', default: Date.now, required: true }, }); diff --git a/server/routes/post.routes.js b/server/routes/post.routes.js index 5d62c3018..4a0948883 100644 --- a/server/routes/post.routes.js +++ b/server/routes/post.routes.js @@ -14,4 +14,16 @@ router.route('/posts').post(PostController.addPost); // Delete a post by cuid router.route('/posts/:cuid').delete(PostController.deletePost); +//add Comment a post by cuid +router.route('/posts/:cuid').put(PostController.addComment); + +//edit Comment +router.route('/posts/edit/:cuid').put(PostController.editComment); + +//delete Comment +router.route('/posts/delete/:cuid').delete(PostController.editComment); + + + + export default router;