Guest User

Untitled

a guest
Jun 4th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. import express from "express";
  2. import User from "../../models/User";
  3.  
  4. const router = express.Router();
  5.  
  6. router.get("/", (req, res, next) => {
  7. User.find({}).select("_id name email password").exec((err, user) => {
  8. if(err)
  9. return res.status(403).send({error: err});
  10.  
  11. if(!user)
  12. return res.status(403).send({error: "User not found"});
  13. return res.status(200).json(user);
  14. });
  15. });
  16.  
  17. router.get("/:id", (req, res, next) => {
  18. const givenId = req.params.id;
  19. if(!givenId)
  20. return res.status(422).send("Missing data");
  21.  
  22. User.findById(givenId, (err, product) => {
  23. if(err)
  24. return next(err);
  25. res.send(product);
  26. });
  27. });
  28.  
  29. router.post("/", (req, res, next) => {
  30. if( !req.body.password || !req.body.email)
  31. return res.status(422).send("Missing data");
  32.  
  33. const user = new User({
  34. name: req.body.name,
  35. email: req.body.email,
  36. password: req.body.password,
  37. favouriteColor: req.body.favouriteColor
  38. });
  39.  
  40. user.save((err) => {
  41. if (err)
  42. return next(err);
  43. res.status(201).json(user);
  44. })
  45. });
  46.  
  47. router.put("/:id", (req, res, next) => {
  48. const givenId = req.params.id;
  49. if(!givenId)
  50. return res.status(422).send("Missing data");
  51.  
  52. User.findByIdAndUpdate(givenId, {$set: req.body}, (err, user) => {
  53. if (err)
  54. return next(err);
  55. res.status(200).send("Product udpated.");
  56. });
  57. });
  58.  
  59. router.delete("/:id", (req, res, next) => {
  60. const givenId = req.params.id;
  61. if(!givenId)
  62. return res.status(422).send("Missing data");
  63.  
  64. User.findByIdAndRemove(givenId,(error) => {
  65. if (err)
  66. return next(err);
  67. res.send("Deleted!");
  68. });
  69. });
  70.  
  71. export default router;
Add Comment
Please, Sign In to add comment