movies.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. const Movie = require('../models/movie.js')
  2. const express = require('express')
  3. const router = express.Router()
  4. // GET all movies
  5. router.route('/movies').get(function (req, res) {
  6. Movie.find(function (err, movies) {
  7. if (err) {
  8. return res.send(err)
  9. }
  10. res.json(movies)
  11. })
  12. })
  13. // POST new movie
  14. router.route('/movies').post(function (req, res) {
  15. const movie = new Movie(req.body)
  16. movie.save(function (err) {
  17. if (err) {
  18. return res.send(err)
  19. }
  20. res.send({ message: 'Movie added.' })
  21. })
  22. })
  23. // PUT update movie
  24. router.route('/movies/:id').put(function (req, res) {
  25. Movie.findOne({ _id: req.params.id }, function (err, movie) {
  26. if (err) {
  27. return res.send(err)
  28. }
  29. for (prop in req.body) {
  30. movie[prop] = req.body[prop]
  31. }
  32. movie.save(function (req, res) {
  33. if (err) {
  34. return res.send(err)
  35. }
  36. res.json({ message: 'Movie updated.' })
  37. })
  38. })
  39. })
  40. // GET one movie
  41. router.route('/movies/:id').get(function (req, res) {
  42. Movie.findOne({ _id: req.params.id }, function (err, movie) {
  43. if (err) {
  44. return res.send(err)
  45. }
  46. res.json(movie)
  47. })
  48. })
  49. // DELETE one
  50. router.route('/movies/:id').delete(function (req, res) {
  51. Movie.remove({ _id: req.params.id }, function (err, movie) {
  52. if (err) {
  53. return res.send(err)
  54. }
  55. res.json({ message: 'Movie deleted.' })
  56. })
  57. })
  58. module.exports = router