some tweaks and readme

This commit is contained in:
2024-01-25 16:47:06 +01:00
parent 3ad55cd36a
commit 1273706b8c
9 changed files with 472 additions and 69 deletions
+4 -4
View File
@@ -109,14 +109,14 @@ router.post('/like/:postId/:commentId',auth, async (req, res) => {
//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 post = await db.query(`UPDATE comments 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 post = await db.query(`UPDATE comments 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"});
@@ -161,14 +161,14 @@ router.post('/save/:postId/:commentId',auth, async (req, res) => {
//check if user already saved post
for(let i = 0; i < postData[0].saves.length; i++){
if(postData[0].saves[i] === username){
const post = await db.query(`UPDATE posts SET saves -= "${username}" WHERE id = "${postId}"`);
const post = await db.query(`UPDATE comments SET saves -= "${username}" WHERE id = "${postId}"`);
const user = await db.query(`UPDATE users SET savedPosts -= "${req.params.postId}" WHERE username = string::lowercase("${username}")`);
return res.status(200).json({message: "Post unsaved"});
}
}
const post = await db.query(`UPDATE posts SET saves += "${username}" WHERE id = "${postId}"`);
const post = await db.query(`UPDATE comments SET saves += "${username}" WHERE id = "${postId}"`);
const user = await db.query(`UPDATE users SET savedPosts += "${req.params.postId}" WHERE username = string::lowercase("${username}")`);
res.status(200).json({message: "Post saved"});
+31
View File
@@ -253,4 +253,35 @@ router.get('/activity/:type', auth, async (req, res) => {
}
});
router.delete('/delete', auth, async (req, res) => {
try{
const username = req.user;
const {password} = req.body;
if(!username) return res.status(400).json({error: "Missing username"});
if(!password) return res.status(400).json({error: "Missing password"});
const user = await db.query(`SELECT * FROM users WHERE username = string::lowercase("${username}")`);
if(user.length == 0) return res.status(400).json({error: "User does not exist"});
const verify = await passwordauth.verify(password, user[0].password);
if(!verify) return res.status(400).json({error: "Password is incorrect"});
const deletePosts = await db.query(`DELETE FROM posts WHERE author = string::lowercase("${username}")`);
const deleteComments = await db.query(`DELETE FROM comments WHERE author = string::lowercase("${username}")`);
const deleteLikedPosts = await db.query(`DELETE FROM posts WHERE likes = "${username}"`);
const deleteLikedComments = await db.query(`DELETE FROM comments WHERE likes = "${username}"`);
const deleteSavedPosts = await db.query(`DELETE FROM posts WHERE savedPosts = "${username}"`);
const deleteSavedComments = await db.query(`DELETE FROM comments WHERE savedComments = "${username}"`);
const deleteUser = await db.query(`DELETE FROM users WHERE username = string::lowercase("${username}")`);
res.status(200).json({message: "User deleted"});
}
catch(err){
console.log(err);
res.status(500).json({error: "Internal server error"});
}
});
module.exports = router;