const db = require('../surreal'); const router = require('express').Router(); router.post('/like/:postId', async (req, res) => { const username = req.user; const postId = 'posts:' + req.params.postId; if(!username) return res.status(400).json({error: "Missing username"}); if(!postId) return res.status(400).json({error: "Missing postId"}); const postData = await db.query(`SELECT * FROM posts WHERE id = "${postId}"`); //check if user already liked post for(let i = 0; i < postData[0].likes.length; i++){ if(postData[0].likes[i] === username){ const post = await db.query(`UPDATE posts SET likes -= "${username}" WHERE id = "${postId}"`); const user = await db.query(`UPDATE users SET likedPosts -= "${req.params.postId}" WHERE username = string::lowercase("${username}")`); return res.status(200).json({message: "Post unliked"}); } } const post = await db.query(`UPDATE posts SET likes += "${username}" WHERE id = "${postId}"`); const user = await db.query(`UPDATE users SET likedPosts += "${req.params.postId}" WHERE username = string::lowercase("${username}")`); res.status(200).json({message: "Post liked"}); }); module.exports = router;