diff --git a/backend/routes/users.js b/backend/routes/users.js index 9d937d40fde532ad62afc9e209a963c73b5db3ee..58475b8f2603a2b3dbcfc8b6c231a0da226f7f5f 100644 --- a/backend/routes/users.js +++ b/backend/routes/users.js @@ -56,11 +56,17 @@ router.put("/unlike", async function (req, res) { const movieId = await req.body.movieId; const movieOid = await MovieModel.findOne({ id: movieId }); const user = await UserModel.findById(userId); - const likedMovies = user.liked_movies.concat([movieOid._id]); - await UserModel.findByIdAndUpdate(userId, { - liked_movies: likedMovies, - }); - res.send("Done"); + const likedMovies = user.liked_movies; + const myIndex = likedMovies.indexOf(movieOid._id); + if (myIndex !== -1) { + likedMovies.splice(myIndex, 1); + await UserModel.findByIdAndUpdate(userId, { + liked_movies: likedMovies, + }); + res.send("Done"); + } else { + res.send("This movie wasn't liked"); + } } catch (error) { console.log(error); res.send("Internal problem");