From eef93166451d0e182151f374cd8bae82b961fbcb Mon Sep 17 00:00:00 2001 From: steven payne Date: Thu, 14 Jan 2021 12:37:26 +0100 Subject: [PATCH] change server to allow description to be saved --- todosController/todos.js | 63 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/todosController/todos.js b/todosController/todos.js index b38fcfc..99852b8 100644 --- a/todosController/todos.js +++ b/todosController/todos.js @@ -1,13 +1,12 @@ -const express = require('express'); +const express = require("express"); -const mongoose = require('mongoose'); -const {ObjectId} = mongoose.Types; +const mongoose = require("mongoose"); +const { ObjectId } = mongoose.Types; // Require Todo model in our routes module -let Todo = require('../models/Todo'); +let Todo = require("../models/Todo"); class TodosController { - async getAllTodos(req, res) { try { const todos = await Todo.find(); @@ -17,12 +16,12 @@ class TodosController { } } - async getTodo(req, res){ - const {id} = req.params; - if(!ObjectId.isValid(id) && !id.match(/^[a-fA-F0-9]{24}$/)){ + async getTodo(req, res) { + const { id } = req.params; + if (!ObjectId.isValid(id) && !id.match(/^[a-fA-F0-9]{24}$/)) { return res.status(404).send({ - success: 'false', - message: 'todo does not exist', + success: "false", + message: "todo does not exist", }); } try { @@ -35,55 +34,56 @@ class TodosController { async createTodo(req, res) { let newTodo = new Todo(req.body); + let title = req.body.title; + let body = req.body.body; if (!req.body.title) { return res.status(400).send({ - success: 'false', - message: 'title is required', + success: "false", + message: "title is required", }); } try { - const todo = await newTodo.save(); + const todo = await newTodo.save({ title, body }); res.status(200).json(todo); } catch (error) { res.status(400).send({ - success: 'false', - message: 'Unable to save to database', + success: "false", + message: "Unable to save to database", }); } } - async updateTodo(req, res){ - const {id} = req.params; + async updateTodo(req, res) { + const { id } = req.params; const data = req.body; - if(!ObjectId.isValid(id) && !id.match(/^[a-fA-F0-9]{24}$/)){ + if (!ObjectId.isValid(id) && !id.match(/^[a-fA-F0-9]{24}$/)) { return res.status(404).send({ - success: 'false', - message: 'todo does not exist', + success: "false", + message: "todo does not exist", }); } if (!req.body.title) { return res.status(400).send({ - success: 'false', - message: 'title is required', + success: "false", + message: "title is required", }); } try { - const updated = await Todo.findByIdAndUpdate(id, data, {new:true}); + const updated = await Todo.findByIdAndUpdate(id, data, { new: true }); return res.status(200).json(updated); - } catch (error) { res.json(error); } } - async deleteTodo(req, res){ - const {id} = req.params; - if(!ObjectId.isValid(id) && !id.match(/^[a-fA-F0-9]{24}$/)){ + async deleteTodo(req, res) { + const { id } = req.params; + if (!ObjectId.isValid(id) && !id.match(/^[a-fA-F0-9]{24}$/)) { return res.status(404).send({ - success: 'false', - message: 'todo does not exist', + success: "false", + message: "todo does not exist", }); } try { @@ -91,12 +91,11 @@ class TodosController { return res.status(200).json(deleted); } catch (error) { res.status(400).send({ - success: 'false', - message: 'Unable to delete from database', + success: "false", + message: "Unable to delete from database", }); } } - } const TodoController = new TodosController();