27 lines
No EOL
896 B
TypeScript
27 lines
No EOL
896 B
TypeScript
import { Router } from "express";
|
|
import { asyncHandler } from "../utils/asyncHandler.js";
|
|
import { RecipeRepository } from "../repositories/RecipeRepository.js";
|
|
import { CompactRecipeController } from "../controllers/CompactRecipeController.js";
|
|
import { CompactRecipeDtoEntityMapper } from "../mappers/CompactRecipeDtoEntityMapper.js";
|
|
|
|
/**
|
|
* Handles all recipe related routes
|
|
*/
|
|
const router = Router();
|
|
|
|
// Inject repo + mapper here
|
|
const recipeRepository = new RecipeRepository();
|
|
const compactRecipeMapper = new CompactRecipeDtoEntityMapper();
|
|
const compactRecipeController = new CompactRecipeController(recipeRepository, compactRecipeMapper);
|
|
/**
|
|
* Load header data of all recipes
|
|
*/
|
|
router.get(
|
|
"/",
|
|
asyncHandler(async (req, res) => {
|
|
const response = await compactRecipeController.getAllCompactRecipes();
|
|
res.status(201).json(response);
|
|
})
|
|
);
|
|
|
|
export default router; |