diff --git a/react-express-mongodb/backend/controllers/todos/todoController.js b/react-express-mongodb/backend/controllers/todos/todoController.js new file mode 100644 index 0000000..ba63d49 --- /dev/null +++ b/react-express-mongodb/backend/controllers/todos/todoController.js @@ -0,0 +1,27 @@ +const serverResponses = require("../../utils/helpers/responses"); +const messages = require("../../config/messages"); +const { Todo } = require("../../models/todos/todo"); + +const createTodo = async (req, res) => { + const todo = new Todo({ + text: req.body.text, + }); + + try { + const result = await todo.save(); + serverResponses.sendSuccess(res, messages.SUCCESSFUL, result); + } catch (error) { + serverResponses.sendError(res, messages.BAD_REQUEST, error); + } +}; + +const getAllTodos = async (req, res) => { + try { + const todos = await Todo.find({}, { __v: 0 }); + serverResponses.sendSuccess(res, messages.SUCCESSFUL, todos); + } catch (error) { + serverResponses.sendError(res, messages.BAD_REQUEST, error); + } +}; + +module.exports = { createTodo, getAllTodos }; diff --git a/react-express-mongodb/backend/routes/index.js b/react-express-mongodb/backend/routes/index.js index 05b311b..f069279 100644 --- a/react-express-mongodb/backend/routes/index.js +++ b/react-express-mongodb/backend/routes/index.js @@ -1,35 +1,12 @@ const express = require("express"); -const serverResponses = require("../utils/helpers/responses"); -const messages = require("../config/messages"); -const { Todo } = require("../models/todos/todo"); +const todoController = require("../controllers/todos/todoController"); const routes = (app) => { const router = express.Router(); - router.post("/todos", (req, res) => { - const todo = new Todo({ - text: req.body.text, - }); + router.post("/todos", todoController.createTodo); - todo - .save() - .then((result) => { - serverResponses.sendSuccess(res, messages.SUCCESSFUL, result); - }) - .catch((e) => { - serverResponses.sendError(res, messages.BAD_REQUEST, e); - }); - }); - - router.get("/", (req, res) => { - Todo.find({}, { __v: 0 }) - .then((todos) => { - serverResponses.sendSuccess(res, messages.SUCCESSFUL, todos); - }) - .catch((e) => { - serverResponses.sendError(res, messages.BAD_REQUEST, e); - }); - }); + router.get("/", todoController.getAllTodos); //it's a prefix before api it is useful when you have many modules and you want to //differentiate b/w each module you can use this technique