Skip to content
Snippets Groups Projects
Select Git revision
  • 633ebab13d5403db3f40efc95c6bb59afaaf6f52
  • master default
  • goodpaths
  • movie-page
  • front-bilel
  • vieille-branche
  • octofront
  • branche-TP-de-Tom
8 results

recommendations.js

Blame
  • recommendations.js 3.89 KiB
    const express = require("express");
    const RecoModel = require("../models/recommendation");
    const router = express.Router();
    
    // router.get("/", function (req, res) {
    //   RecoModel.find({}).then(function (users) {
    //     res.json();
    //   });
    // });
    
    router.get("/:userId", async function (req, res) {
      const userId = await req.params["userId"];
      console.log(userId);
      const userPopulated = await RecoModel.findOne({ user_id: userId }).populate(
        "recommended_movies"
      );
      res.send(userPopulated.recommended_movies);
    });
    
    // router.get("/isliked/:movieId/:userId", async function (req, res) {
    //   const userId = await req.params["userId"];
    //   console.log(userId);
    //   const movieId = await req.params["movieId"];
    //   const user = await UserModel.findById(userId);
    //   const movieOid = await MovieModel.findOne({ id: movieId });
    //   const likedMovies = user.liked_movies;
    //   const myIndex = likedMovies.indexOf(movieOid._id) + 1;
    //   console.log(Boolean(myIndex));
    //   res.send(Boolean(myIndex));
    // });
    
    // router.post("/new", function (req, res) {
    //   const newUser = new UserModel({
    //     email: req.body.email,
    //     firstName: req.body.firstName,
    //     lastName: req.body.lastName,
    //   });
    
    //   newUser
    //     .save()
    //     .then(function (newDocument) {
    //       res.status(201).json(newDocument);
    //     })
    //     .catch(function (error) {
    //       console.error(error);
    //       if (error.code === 11000) {
    //         res.status(400).json({
    //           message: `User with email "${newUser.email}" already exists`,
    //         });
    //       } else {
    //         res.status(500).json({ message: "Error while creating the user" });
    //       }
    //     });
    // });
    
    // 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;
    //     const myIndex = likedMovies.indexOf(movieOid._id);
    //     if (myIndex == -1) {
    //       likedMovies.splice(myIndex, 1);
    //       await UserModel.findByIdAndUpdate(userId, {
    //         liked_movies: likedMovies.concat([movieOid._id]),
    //       });
    //       console.log(movieOid.title);
    //       console.log(movieOid._id);
    //       res.send("Done");
    //     } else {
    //       console.log(movieOid.title);
    //       console.log(movieOid._id);
    //       console.log("This movie is already liked");
    //       res.send("This movie is already liked");
    //     }
    //   } 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");
    //       console.log(movieOid.title);
    //       console.log(movieOid._id);
    //     } else {
    //       res.send("This movie wasn't liked");
    //       console.log(movieOid.title);
    //       console.log(movieOid._id);
    //       console.log("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 () {
    //       res.status(204).json({ message: "User successfully deleted" });
    //     })
    //     .catch(function () {
    //       res.status(500).json({ message: "Error while deleting the user" });
    //     });
    // });
    
    module.exports = router;