Skip to content

Commit

Permalink
refactoring categories
Browse files Browse the repository at this point in the history
  • Loading branch information
paulordyl committed Jun 26, 2021
1 parent 5203b86 commit 9e54faf
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { Request, Response } from "express";

import { ListCategoriesUseCase } from "./ListCategoriesUseCase";

class ListCategoriesController {
constructor(private listCategoriesUseCase: ListCategoriesUseCase) {}

handle(request: Request, response: Response): Response {
const all = this.listCategoriesUseCase.execute();

return response.json(all);
}
}

export { ListCategoriesController };
14 changes: 14 additions & 0 deletions src/modules/cars/useCases/listCategories/ListCategoriesUseCase.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Category } from "../../model/Category";
import { ICategoriesRepository } from "../../repositories/ICategoriesRepository";

class ListCategoriesUseCase {
constructor(private categoriesRepository: ICategoriesRepository) {}

execute(): Category[] {
const categories = this.categoriesRepository.list();

return categories;
}
}

export { ListCategoriesUseCase };
11 changes: 11 additions & 0 deletions src/modules/cars/useCases/listCategories/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { CategoriesRepository } from "../../repositories/CategoriesRepository";
import { ListCategoriesController } from "./ListCategoriesController";
import { ListCategoriesUseCase } from "./ListCategoriesUseCase";

const categoriesRepository = new CategoriesRepository();
const listCategoriesUseCase = new ListCategoriesUseCase(categoriesRepository);
const listCategoriesController = new ListCategoriesController(
listCategoriesUseCase
);

export { listCategoriesController };
7 changes: 2 additions & 5 deletions src/routes/categories.routes.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
import { Router } from "express";

import { CategoriesRepository } from "../modules/cars/repositories/CategoriesRepository";
import { createCategoryController } from "../modules/cars/useCases/createCategory";
import { listCategoriesController } from "../modules/cars/useCases/listCategories";

const categoriesRoutes = Router();
const categoriesRepository = new CategoriesRepository();

categoriesRoutes.post("/", (request, response) => {
return createCategoryController.handle(request, response);
});

categoriesRoutes.get("/", (request, response) => {
const all = categoriesRepository.list();

return response.json(all);
return listCategoriesController.handle(request, response);
});

export { categoriesRoutes };

0 comments on commit 9e54faf

Please sign in to comment.