Skip to content
Snippets Groups Projects
Commit ca07bd62 authored by Bilel El Yaagoubi's avatar Bilel El Yaagoubi
Browse files

Merge branch 'authorize_movie_like' into 'master'

You can now like movies

See merge request !15
parents f701b26f 3ea1b46c
No related branches found
No related tags found
1 merge request!15You can now like movies
Pipeline #42572 passed
const express = require("express");
const UserModel = require("../models/user");
const MovieModel = require("../models/movie");
const router = express.Router();
router.get("/", function (req, res) {
......@@ -32,6 +33,46 @@ router.post("/new", function (req, res) {
});
});
router.put("/like", async function (req, res) {
try {
const userId = await req.body.userId;
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");
} catch (error) {
console.log(error);
res.send("Internal problem");
}
});
router.put("/unlike", async function (req, res) {
try {
const userId = await req.body.userId;
const movieId = await req.body.movieId;
const movieOid = await MovieModel.findOne({ id: movieId });
const user = await UserModel.findById(userId);
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");
}
});
router.delete("/:userId", function (req, res) {
UserModel.deleteOne({ _id: req.params.userId })
.then(function () {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment