daily pastebin goal
23%
SHARE
TWEET

Untitled

a guest Jan 20th, 2018 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const {Router} = require("express");
  2. const todoRouter = Router();
  3.  
  4. const Todo = require("../models/todo.js");
  5.  
  6. todoRouter.route("/")
  7. .get(async (req, res) => {
  8.   try {
  9.     let todos = await Todo.find({});
  10.     res.status(200).send({todos});
  11.   } catch(error) {
  12.     res.status(500).send({error})
  13.   }
  14. }).post(async (req, res) => {
  15.   const newTodo = new Todo(req.body);
  16.   try {
  17.     let todo = await newTodo.save();
  18.     res.status(200).send({todo});
  19.   } catch(error) {
  20.     res.status(500).send({error})
  21.   }
  22. });
  23.  
  24. todoRouter.route("/:id")
  25. .get(async (req, res) => {
  26.   try {
  27.     let todo = await Todo.findById(req.params.id);
  28.     if(todo === null) {
  29.       res.status(404).send({msg: "Not found"});
  30.     } else {
  31.       res.status(200).send({todo});
  32.     }
  33.   } catch(error) {
  34.     res.status(500).send({error});
  35.   }
  36. }).put(async (req, res) => {
  37.   try {
  38.     let todo = await Todo.findByIdAndUpdate(req.params.id, req.body, {new: true});
  39.     if(todo === null) {
  40.       res.status(404).send({msg: "Not found"});
  41.     } else {
  42.       res.status(200).send({todo});
  43.     }
  44.   } catch(error) {
  45.     res.status(500).send({error});
  46.   }
  47. }).delete(async (req, res) => {
  48.   try {
  49.     let todo = await Todo.findByIdAndRemove(req.params.id);
  50.     if(todo === null) {
  51.       res.status(404).send({msg: "Not found"});
  52.     } else {
  53.       res.status(200).send({todo});
  54.     }
  55.   } catch(error) {
  56.     res.status(500).send({error});
  57.   }
  58. });
  59.  
  60. module.exports = todoRouter;
RAW Paste Data
Top