create-node-mongo-express-app
Version:
Node Js Template with MVC pattern, typescript, mongoose and express
47 lines (40 loc) • 1.43 kB
text/typescript
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 };