UNPKG

create-node-mongo-express-app

Version:

Node Js Template with MVC pattern, typescript, mongoose and express

47 lines (40 loc) 1.43 kB
import { Request, Response } from 'express'; import { todoService } from '../services/todo.service'; import { ApiResponse } from '../utils/ApiResponse'; class TodoController { async getAllTodos(req: Request, res: Response) { const todos = await todoService.getAllTodos(); res .status(200) .json(new ApiResponse(200, todos, 'Todos Fetched Successfully')); } async getTodoById(req: Request, res: Response) { const { id } = req.params; const todo = await todoService.getTodoById(id); res .status(200) .json(new ApiResponse(200, todo, 'Todo Fetched Successfully')); } async createTodo(req: Request, res: Response) { const todo = await todoService.createTodo(req.body); res .status(201) .json(new ApiResponse(201, todo, 'Todo Created Successfully')); } async updateTodo(req: Request, res: Response) { const { id } = req.params; const todo = await todoService.updateTodo(id, req.body); res .status(200) .json(new ApiResponse(200, todo, 'Todo Updated Successfully')); } async deleteTodo(req: Request, res: Response) { const { id } = req.params; const todo = await todoService.deleteTodo(id); res .status(200) .json(new ApiResponse(200, todo, 'Todo Deleted Successfully')); } } const todoController = new TodoController(); export { todoController };