28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
|
|
import { checkUser, checkisAdmin } from "@/contexts/auth";
|
||
|
|
import {
|
||
|
|
createDealerController,
|
||
|
|
deleteDealerController,
|
||
|
|
getDealerController,
|
||
|
|
listDealersController,
|
||
|
|
updateDealerController,
|
||
|
|
} from "@/contexts/sales/infrastructure/express/controllers/dealers";
|
||
|
|
import { getDealerMiddleware } from "@/contexts/sales/infrastructure/express/middlewares/dealerMiddleware";
|
||
|
|
import Express from "express";
|
||
|
|
import { quoteRoutes } from "./quote.routes";
|
||
|
|
5;
|
||
|
|
|
||
|
|
export const DealerRouter = (appRouter: Express.Router) => {
|
||
|
|
const dealerRoutes: Express.Router = Express.Router({ mergeParams: true });
|
||
|
|
|
||
|
|
dealerRoutes.get("/", checkisAdmin, listDealersController);
|
||
|
|
dealerRoutes.get("/:dealerId", checkUser, getDealerMiddleware, getDealerController);
|
||
|
|
dealerRoutes.post("/", checkisAdmin, createDealerController);
|
||
|
|
dealerRoutes.put("/:dealerId", checkisAdmin, updateDealerController);
|
||
|
|
dealerRoutes.delete("/:dealerId", checkisAdmin, deleteDealerController);
|
||
|
|
|
||
|
|
// Anidar quotes en /dealers/:dealerId
|
||
|
|
dealerRoutes.use("/:dealerId/quotes", quoteRoutes);
|
||
|
|
|
||
|
|
appRouter.use("/dealers", dealerRoutes);
|
||
|
|
};
|