import { AuthRouter } from "@/contexts/auth"; import { CatalogRouter } from "@/contexts/catalog"; import { RepositoryManager } from "@/contexts/common/domain"; import { createSequelizeAdapter } from "@/contexts/common/infrastructure/sequelize"; import { UserRouter } from "@/contexts/users"; import Express from "express"; export const v1Routes = () => { const routes = Express.Router({ mergeParams: true }); routes.get("/hello", (req, res) => { res.send("Hello world!"); }); //v1Routes.use("/auth", authRoutes); //v1Routes.use("/catalog", catalogRoutes); routes.use( ( req: Express.Request, res: Express.Response, next: Express.NextFunction, ) => { res.locals["context"] = { adapter: createSequelizeAdapter(), repositoryManager: RepositoryManager.getInstance(), services: {}, }; res.locals["middlewares"] = new Map(); return next(); }, ); routes.use((req, res, next) => { console.log( `[${new Date().toLocaleTimeString()}] Incoming request to ${req.path}`, ); next(); }); AuthRouter(routes); UserRouter(routes); CatalogRouter(routes); return routes; };