import { AuthRouter } from "@/contexts/auth"; import { CatalogRouter } from "@/contexts/catalog"; import { createMiddlewareMap } from "@/contexts/common/infrastructure/express"; import { UserRouter } from "@/contexts/users"; import Express from "express"; import { createContextMiddleware } from "./context.middleware"; export const v1Routes = () => { const routes = Express.Router({ mergeParams: true }); routes.get("/hello", (req, res) => { res.send("Hello world!"); }); routes.use( ( req: Express.Request, res: Express.Response, next: Express.NextFunction, ) => { res.locals["context"] = createContextMiddleware(); res.locals["middlewares"] = createMiddlewareMap(); 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; };