Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const router = express.Router();
- const Employee = require('./employees-model');
- let ObjectId = require('mongoose').Types.ObjectId;
- // fetch all employees from the database
- router.get('/', async (req, res) => {
- try {
- let employees = await Employee.find();
- res.send(employees);
- } catch (e) {
- console.log(e);
- }
- });
- // fetch employee by name
- router.get('/:name', async (req, res) => {
- try {
- let employee = await Employee.findOne({name: req.params.name});
- res.send(employee);
- } catch (e) {
- console.log(e);
- }
- });
- // add an employee to the database
- router.post('/register', async (req, res) => {
- if(!req.body.name && !req.body.position && !req.body.branch) {
- res.status(400).send({message: "Fill in all fields!"});
- } else {
- try {
- let employee = new Employee({
- name: req.body.name,
- position: req.body.position,
- branch: req.body.branch,
- salary: req.body.salary
- });
- let result = await employee.save();
- res.send(result);
- } catch (e) {
- console.log(e);
- }
- }
- });
- // update employee details by name and id
- router.put('/update/:id', async (req, res) => {
- if(!req.body.name) {
- res.status(400).send({message: "Fill in all fields!"});
- } else {
- try {
- let employee = {
- name: req.body.name,
- position: req.body.position,
- branch: req.body.branch,
- salary: req.body.salary
- };
- // Find employee and update with the request body
- await Employee.findByIdAndUpdate(req.params.id, {$set: employee});
- res.send('Record successfully updated!');
- } catch (e) {
- console.log(e);
- }
- }
- });
- // delete employee details by name and id
- router.delete('/delete/employee/:id', async (req, res) => {
- try {
- // Find employee and delete
- await Employee.findByIdAndRemove(req.params.id);
- res.send('Record successfully deleted!');
- } catch (e) {
- console.log(e);
- }
- });
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement