import { VixpressRoute } from "@dunemask/vix"; import { contract } from "@dunemask/vix/express"; import { Router } from "express"; import ProjectController from "./project.controller"; import { ProjectContract } from "@lib/contracts/project.contracts"; import RouteGuard from "@lib/vix/RouteGuard"; export class ProjectRoute extends VixpressRoute { async configureRoutes(router: Router) { const jsonOpts = { limit: "20mb" }; const cBase = { json: jsonOpts, reqParams: ProjectContract.ProjectParams }; // Controllers const projController = this.useController(ProjectController); // Configuration const projCreate = { ...cBase, reqBody: ProjectContract.Create }; // Middleware // Routes router.post("/create", RouteGuard.MangeProjectsCreate, contract(projController.create, projCreate)); } }