Kaynağa Gözat

Implement delete like route

sbkwgh 8 yıl önce
ebeveyn
işleme
1450d28777
1 değiştirilmiş dosya ile 28 ekleme ve 0 silme
  1. 28 0
      routes/post.js

+ 28 - 0
routes/post.js

@@ -65,6 +65,34 @@ router.put('/:post_id/like', async (req, res) => {
 	}
 })
 
+router.delete('/:post_id/like', async (req, res) => {
+	try {
+		let post = await Post.findById(req.params.post_id)
+		let user = await User.findOne({ where: { username: req.session.username }})
+		
+		if(!post) throw Errors.invalidParameter('id', 'post does not exist')
+
+		await post.removeLikes(user)
+
+		res.json({ success: true })
+
+	} catch (e) {
+		if(e.name === 'invalidParameter') {
+			res.status(400)
+			res.json({
+				errors: [e]
+			})
+		} else{
+			console.log(e)
+
+			res.status(500)
+			res.json({
+				errors: [Errors.unknown]
+			})
+		}
+	}
+})
+
 router.post('/', async (req, res) => {
 	let validationErrors = []
 	let thread, replyingToPost, post