123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- const router = require('express').Router()
- const Product = require('../models/product')
- const upload = require('../middlewares/upload-photo')
- router.post('/products', upload.single('photo'), async (req, res)=> {
- try {
- let product = new Product()
- product.title = req.body.title
- product.description = req.body.description
- product.photo = req.file.location
- product.stockQuantity = req.body.stockQuantity
- await product.save()
- res.json({
- status: true,
- message: 'Success saved'
- })
- } catch(err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- router.get('/products', async (req, res) => {
- try {
- let products = await Product.find()
- res.json({
- success: true,
- products
- })
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- router.get('/products/:id', async (req, res) => {
- try {
- let product = await Product.findOne( { _id: req.params.id })
- res.json({
- success: true,
- product
- })
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- router.put('/products/:id', upload.single('photo'), async (req, res) => {
- try {
- let product = await Product.findOneAndUpdate(
- { _id: req.params.id },
- {
- $set: {
- title: req.body.title,
- price: req.body.price,
- category: req.body.categoryID,
- description: req.body.description,
- photo: req.file.location,
- stockQuantity: req.body.stockQuantity,
- owner: req.body.ownerID
- }
- },
- { upsert: true }
- )
-
- res.json({
- success: true,
- updateProduct: product
- })
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- router.delete('/products/:id', async (req, res) => {
- try {
- let deleteProduct = await Product.findOneAndDelete( { _id: req.params.id })
-
- if (deleteProduct) {
- res.json({
- success: true,
- message: 'Successfully deleted'
- })
- }
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- module.exports = router
|