some tweaks and readme
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user