Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const router = express.Router();
- const mongoose = require('mongoose');
- const Product = require('../models/product');
- router.post('/',(req, res, next) => {
- const newProduct = new Product({
- _id: new mongoose.Types.ObjectId(),
- name: req.body.name,
- price: req.body.price
- });
- newProduct
- .save()
- .then(result => {
- console.log(result);
- res.status(200).json({
- message:'Harzndling POST requets /products',
- createdProduct: result
- });
- })
- .catch(err => {
- console.log(err);
- res.status(500).json({
- error: err
- });
- });
- });
- router.get('/:productId',(req, res, next) => {
- const id = req.params.productId;
- Product.findById(id)
- .exec()
- .then(
- doc => {console.log(doc);
- if (doc != null) {
- res.status(200).json(doc);
- } else {
- res.status(404).json({
- error: 'Not a valid ID'
- })
- }
- })
- .catch(err => {
- console.log(err);
- res.status(500).json({
- error: err
- })
- });
- });
- router.get('/',(req,res,next) => {
- Product.find()
- .exec()
- .then(docs => {
- console.log(docs);
- res.status(200).json({
- message: 'Getting all products',
- products: docs
- })
- })
- .catch(err => {
- console.log(err);
- res.status(500).json({
- error: err
- })
- })
- });
- router.delete('/:productId',(req,res,next) => {
- const id = req.params.productId;
- Product
- .remove({_id:id})
- .exec()
- .then(result => {
- console.log(result);
- res.status(200).json({
- message: result
- })
- })
- .catch(err => {
- console.log(err);
- res.status(500).json({
- error: err
- })
- })
- })
- router.patch('/:productId',(req,res,next) => {
- const id = req.params.productId;
- Product
- .update({_id:id}, {$set: {name: req.body.newName, price: req.body.newPrice}})
- .exec()
- .then(result => {
- console.log(result);
- res.status(200).json({
- message: result
- })
- })
- .catch(err => {
- console.log(err);
- res.status(500).json({
- error: err
- })
- })
- })
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement