var MovieModel = require('../models/movieModel'); /** * movieController.js * * @description :: Server-side logic for managing movies. */ module.exports = { /** * movieController.list() */ list: function (req, res) { MovieModel.find() .then(movies => { var data = { movies: movies }; return res.json(data); }) .catch(err => { return res.status(500).json({ message: 'Error when getting movies.', error: err }); }); }, /** * movieController.show() */ show: function (req, res) { var id = req.params.id; MovieModel.findOne({_id: id}, function (err, movie) { if (err) { return res.status(500).json({ message: 'Error when getting movie.', error: err }); } if (!movie) { return res.status(404).json({ message: 'No such movie' }); } return res.json(movie); }); }, /** * movieController.create() */ create: function (req, res) { var movie = new MovieModel({ title: req.body.title ? req.body.title : req.body.Title, released: req.body.released ? req.body.released : req.body.Released, webImg: req.body.webImg ? req.body.webImg : req.body.WebImg, genre: req.body.genre ? req.body.genre : req.body.Genre, code: req.body.code ? req.body.code : req.body.Code }); movie.save() .then(savedMovie => { // Handle successful save operation return res.json(savedMovie); }) .catch(err => { return res.status(500).json({ message: 'Error when creating movie', error: err }); }); }, /** * movieController.update() */ update: function (req, res) { var id = req.params.id; MovieModel.findOne({ _id: id }) .then(movie => { if (!movie) { return res.status(404).json({ message: 'No such movie' }); } movie.title = req.body.title ? req.body.title : movie.title; movie.released = req.body.released ? req.body.released : movie.released; movie.webImg = req.body.webImg ? req.body.webImg : movie.webImg; movie.genre = req.body.genre ? req.body.genre : movie.genre; movie.code = req.body.code ? req.body.code : movie.code; return movie.save(); }) .then(updatedMovie => { return res.json(updatedMovie); }) .catch(err => { return res.status(500).json({ message: 'Error when updating movie.', error: err }); }); }, /** * movieController.remove() */ remove: function (req, res) { var id = req.params.id; MovieModel.findByIdAndRemove(id, function (err, movie) { if (err) { return res.status(500).json({ message: 'Error when deleting the movie.', error: err }); } return res.status(204).json(); }); }, };