Advertisement
Shell_Casing

router.js

May 10th, 2018
475
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const express = require('express');
  2. const router = express.Router();
  3.  
  4. const Employee = require('./employees-model');
  5.  
  6. let ObjectId = require('mongoose').Types.ObjectId;
  7.  
  8.  
  9. // fetch all employees from the database
  10. router.get('/', async (req, res) => {
  11.   try {
  12.     let employees = await Employee.find();
  13.     res.send(employees);
  14.   } catch (e) {
  15.     console.log(e);
  16.   }
  17. });
  18.  
  19.  
  20. // fetch employee by name
  21. router.get('/:name', async (req, res) => {
  22.   try {
  23.     let employee = await Employee.findOne({name: req.params.name});
  24.     res.send(employee);
  25.   } catch (e) {
  26.     console.log(e);
  27.   }
  28. });
  29.  
  30.  
  31. // add an employee to the database
  32. router.post('/register', async (req, res) => {
  33.   if(!req.body.name && !req.body.position && !req.body.branch) {
  34.     res.status(400).send({message: "Fill in all fields!"});
  35.   } else {
  36.     try {
  37.       let employee = new Employee({
  38.         name: req.body.name,
  39.         position: req.body.position,
  40.         branch: req.body.branch,
  41.         salary: req.body.salary
  42.       });
  43.       let result = await employee.save();
  44.       res.send(result);
  45.     } catch (e) {
  46.       console.log(e);
  47.     }
  48.   }
  49. });
  50.  
  51.  
  52. // update employee details by name and id
  53. router.put('/update/:id', async (req, res) => {
  54.   if(!req.body.name) {
  55.     res.status(400).send({message: "Fill in all fields!"});
  56.   } else {
  57.     try {
  58.       let employee = {
  59.         name: req.body.name,
  60.         position: req.body.position,
  61.         branch: req.body.branch,
  62.         salary: req.body.salary
  63.       };
  64.       // Find employee and update with the request body
  65.       await Employee.findByIdAndUpdate(req.params.id, {$set: employee});
  66.       res.send('Record successfully updated!');
  67.     } catch (e) {
  68.       console.log(e);
  69.     }
  70.   }
  71.  
  72. });
  73.  
  74.  
  75. // delete employee details by name and id
  76. router.delete('/delete/employee/:id', async (req, res) => {
  77.   try {
  78.     // Find employee and delete
  79.     await Employee.findByIdAndRemove(req.params.id);
  80.     res.send('Record successfully deleted!');
  81.   } catch (e) {
  82.     console.log(e);
  83.   }
  84. });
  85. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement