products.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const router = require('express').Router()
  2. const Product = require('../models/product')
  3. const upload = require('../middlewares/upload-photo')
  4. router.post('/products', upload.single('photo'), async (req, res)=> {
  5. try {
  6. let product = new Product()
  7. product.title = req.body.title
  8. product.description = req.body.description
  9. product.photo = req.file.location
  10. product.stockQuantity = req.body.stockQuantity
  11. await product.save()
  12. res.json({
  13. status: true,
  14. message: 'Success saved'
  15. })
  16. } catch(err) {
  17. res.status(500).json({
  18. success: false,
  19. message: err.message
  20. })
  21. }
  22. })
  23. router.get('/products', async (req, res) => {
  24. try {
  25. let products = await Product.find()
  26. res.json({
  27. success: true,
  28. products
  29. })
  30. } catch (err) {
  31. res.status(500).json({
  32. success: false,
  33. message: err.message
  34. })
  35. }
  36. })
  37. router.get('/products/:id', async (req, res) => {
  38. try {
  39. let product = await Product.findOne( { _id: req.params.id })
  40. res.json({
  41. success: true,
  42. product
  43. })
  44. } catch (err) {
  45. res.status(500).json({
  46. success: false,
  47. message: err.message
  48. })
  49. }
  50. })
  51. module.exports = router