Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. const express = require("express");
  2. const router = express.Router();
  3. const mongoose = require("mongoose");
  4. const multer = require("multer");
  5.  
  6. const storage = multer.diskStorage({
  7. destination:function(req, file, cb){
  8. cb(null, "./uploads/");
  9. },
  10. filename: function(req, file, cb){
  11. cb(null, new Date().toISOString().replace(":","_").replace(":","_") + file.originalname);
  12. }
  13.  
  14. })
  15.  
  16. const upload = multer({storage: storage});
  17.  
  18. const Product = require("../models/product");
  19.  
  20. router.get("/",(req,res,next)=>{
  21. Product.find().exec()
  22. .then(docs =>{
  23. res.status(200).json(docs);
  24. })
  25. .catch(err=>res.status(500).json({error:err}));;
  26.  
  27.  
  28. });
  29. router.post("/", upload.single("productImage"), (req,res,next)=>{
  30. console.log(req.file);
  31. const product = new Product({
  32. _id: new mongoose.Types.ObjectId(),
  33. name: req.body.name,
  34. price: req.body.price
  35. });
  36.  
  37. product.save()
  38. .then(result => {
  39. res.status(200).json({
  40. message:"Dodano nowy produkt",
  41. createdProduct: result
  42. });
  43. })
  44. .catch(err=>res.status(500).json({error:err}));
  45.  
  46. });
  47.  
  48. router.get("/:productId",(req,res,next)=>{
  49. const id = req.params.productId;
  50. Product.findById(id).exec()
  51. .then(doc => {
  52. res.status(200).json(doc);
  53. })
  54. .catch(err=>res.status(500).json({error:err}));
  55.  
  56.  
  57. });
  58. router.patch("/:productId",(req,res,next)=>{
  59. const id = req.params.productId;
  60.  
  61. Product.findByIdAndUpdate(id,{$set:{
  62. name: req.body.newName,
  63. price: req.body.newPrice
  64.  
  65. }}).exec()
  66. .then(result =>{
  67. res.status(200).json(result);
  68. })
  69. .catch(err=>res.status(500).json({error:err}));
  70.  
  71.  
  72. });
  73. router.delete("/:productId",(req,res,next)=>{
  74. const id = req.params.productId;
  75.  
  76. Product.findByIdAndRemove(id).exec()
  77. .then(result =>{
  78. res.status(200).json({message:"Usunieto produkt o nr: "+id});
  79. })
  80. .catch(err=>res.status(500).json({error:err}));
  81.  
  82.  
  83. });
  84.  
  85. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement