.
This commit is contained in:
parent
69a24e452f
commit
12331c8c48
@ -1,17 +1,13 @@
|
||||
import { AuthUser } from "@/contexts/auth/domain";
|
||||
import { generateExpressError } from "@/contexts/common/infrastructure/express";
|
||||
import * as express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import httpStatus from "http-status";
|
||||
|
||||
interface AuthenticatedRequest extends express.Request {
|
||||
interface AuthenticatedRequest extends Request {
|
||||
user?: AuthUser;
|
||||
}
|
||||
|
||||
const profileMiddleware = (
|
||||
req: express.Request,
|
||||
res: express.Response,
|
||||
next: express.NextFunction
|
||||
) => {
|
||||
const profileMiddleware = (req: Request, res: Response, next: NextFunction) => {
|
||||
const _req = req as AuthenticatedRequest;
|
||||
const user = <AuthUser>_req.user;
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { IError_Response_DTO } from "@shared/contexts";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import httpStatus from "http-status";
|
||||
import { URL } from "url";
|
||||
import { IServerError } from "../../domain/errors";
|
||||
@ -8,16 +8,16 @@ import { InfrastructureError } from "../InfrastructureError";
|
||||
import { generateExpressError } from "./ExpressErrorResponse";
|
||||
|
||||
export abstract class ExpressController implements IController {
|
||||
protected req: Express.Request;
|
||||
protected res: Express.Response;
|
||||
protected next: Express.NextFunction;
|
||||
protected req: Request;
|
||||
protected res: Response;
|
||||
protected next: NextFunction;
|
||||
|
||||
protected serverURL: string = "";
|
||||
protected file: any;
|
||||
|
||||
protected abstract executeImpl(): Promise<void | any>;
|
||||
|
||||
public execute(req: Express.Request, res: Express.Response, next: Express.NextFunction): void {
|
||||
public execute(req: Request, res: Response, next: NextFunction): void {
|
||||
this.req = req;
|
||||
this.res = res;
|
||||
this.next = next;
|
||||
@ -109,7 +109,7 @@ export abstract class ExpressController implements IController {
|
||||
return this._errorResponse(httpStatus.SERVICE_UNAVAILABLE, message);
|
||||
}
|
||||
|
||||
private _jsonResponse(statusCode: number, jsonPayload: any): Express.Response<any> {
|
||||
private _jsonResponse(statusCode: number, jsonPayload: any): Response<any> {
|
||||
return this.res.status(statusCode).json(jsonPayload).send();
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@ export abstract class ExpressController implements IController {
|
||||
statusCode: number,
|
||||
message?: string,
|
||||
error?: Error | InfrastructureError
|
||||
): Express.Response<IError_Response_DTO> {
|
||||
): Response<IError_Response_DTO> {
|
||||
return generateExpressError(this.req, this.res, statusCode, message, error);
|
||||
}
|
||||
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
import { IErrorExtra_Response_DTO, IError_Response_DTO } from "@shared/contexts";
|
||||
import Express from "express";
|
||||
import { Request, Response } from "express";
|
||||
import { UseCaseError } from "../../application";
|
||||
import { InfrastructureError } from "../InfrastructureError";
|
||||
import { ProblemDocument, ProblemDocumentExtension } from "./ProblemDocument";
|
||||
|
||||
export const generateExpressError = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
req: Request,
|
||||
res: Response,
|
||||
statusCode: number,
|
||||
message?: string,
|
||||
error?: Error | InfrastructureError
|
||||
): Express.Response<IError_Response_DTO> => {
|
||||
): Response<IError_Response_DTO> => {
|
||||
const context = {
|
||||
user: res.locals.user || undefined,
|
||||
params: req.params || undefined,
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, RequestHandler, Response } from "express";
|
||||
|
||||
const registeredMiddlewares: Record<string, Express.RequestHandler> = {};
|
||||
const registeredMiddlewares: Record<string, RequestHandler> = {};
|
||||
|
||||
function registerMiddleware(name: string, middleware: Express.RequestHandler) {
|
||||
return (req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||
function registerMiddleware(name: string, middleware: RequestHandler) {
|
||||
return (req: Request, res: Response, next: NextFunction) => {
|
||||
registeredMiddlewares[name] = middleware;
|
||||
next();
|
||||
};
|
||||
@ -12,7 +12,7 @@ function registerMiddleware(name: string, middleware: Express.RequestHandler) {
|
||||
function applyMiddleware(middlewares: string | Array<string>) {
|
||||
const middlewareNames = typeof middlewares === "string" ? [middlewares] : middlewares;
|
||||
|
||||
return (req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||
return (req: Request, res: Response, next: NextFunction) => {
|
||||
middlewareNames.forEach((name) => {
|
||||
const middleware = registeredMiddlewares[name];
|
||||
if (middleware) {
|
||||
@ -25,12 +25,12 @@ function applyMiddleware(middlewares: string | Array<string>) {
|
||||
}
|
||||
|
||||
function createMiddlewareMap() {
|
||||
return new Map<string, Express.RequestHandler>();
|
||||
return new Map<string, RequestHandler>();
|
||||
}
|
||||
|
||||
function composeMiddleware(middlewareArray: any[]) {
|
||||
if (!middlewareArray.length) {
|
||||
return function (req: Express.Request, res: Express.Response, next: Express.NextFunction) {
|
||||
return function (req: Request, res: Response, next: NextFunction) {
|
||||
next();
|
||||
};
|
||||
}
|
||||
@ -38,7 +38,7 @@ function composeMiddleware(middlewareArray: any[]) {
|
||||
const head = middlewareArray[0];
|
||||
const tail = middlewareArray.slice(1);
|
||||
|
||||
return function (req: Express.Request, res: Express.Response, next: Express.NextFunction) {
|
||||
return function (req: Request, res: Response, next: NextFunction) {
|
||||
head(req, res, function (err: unknown) {
|
||||
if (err) return next(err);
|
||||
composeMiddleware(tail)(req, res, next);
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
//export * from "./CreateDealer.useCase";
|
||||
//export * from "./DeleteDealer.useCase";
|
||||
export * from "./GetDealer.useCase";
|
||||
export * from "./GetDealerByUser.useCase";
|
||||
export * from "./ListDealers.useCase";
|
||||
//export * from "./UpdateDealer.useCase";
|
||||
|
||||
/*export * from "./CreateDealer.useCase";
|
||||
export * from "./DeleteDealer.useCase";
|
||||
export * from "./UpdateDealer.useCase";*/
|
||||
|
||||
export * from "./dealerServices";
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { CreateDealerUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerDealerRepository } from "../../../../Dealer.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { CreateDealerController } from "./CreateDealer.controller";
|
||||
import { CreateDealerPresenter } from "./presenter";
|
||||
|
||||
export const createDealerController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const createDealerController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerDealerRepository(context);
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { DeleteDealerUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { registerDealerRepository } from "../../../../Dealer.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { DeleteDealerController } from "./DeleteDealer.controller";
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { GetDealerUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerDealerRepository } from "../../../../Dealer.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { GetDealerController } from "./GetDealer.controller";
|
||||
import { GetDealerPresenter } from "./presenter";
|
||||
|
||||
export const getDealerController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const getDealerController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerDealerRepository(context);
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { GetDealerByUserUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerDealerRepository } from "../../../../Dealer.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { GetDealerByUserController } from "./GetDealerByUser.controller";
|
||||
import { GetDealerByUserPresenter } from "./presenter";
|
||||
|
||||
export const getDealerByUserController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const getDealerByUserController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerDealerRepository(context);
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { ListDealersUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerDealerRepository } from "../../../../Dealer.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { ListDealersController } from "./ListDealers.controller";
|
||||
import { listDealersPresenter } from "./presenter/ListDealers.presenter";
|
||||
|
||||
export const listDealersController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const listDealersController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerDealerRepository(context);
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { UpdateDealerUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { registerDealerRepository } from "../../../../Dealer.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { UpdateDealerController } from "./UpdateDealer.controller";
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { CreateQuoteUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerQuoteRepository } from "../../../../Quote.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { CreateQuoteController } from "./CreateQuote.controller";
|
||||
import { CreateQuotePresenter } from "./presenter";
|
||||
|
||||
export const createQuoteController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const createQuoteController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerQuoteRepository(context);
|
||||
|
||||
@ -1,14 +1,10 @@
|
||||
import { DeleteQuoteUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerQuoteRepository } from "../../../../Quote.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { DeleteQuoteController } from "./DeleteQuote.controller";
|
||||
|
||||
export const deleteQuoteController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const deleteQuoteController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerQuoteRepository(context);
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { GetQuoteUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerQuoteRepository } from "../../../../Quote.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { GetQuoteController } from "./GetQuote.controller";
|
||||
import { GetQuotePresenter } from "./presenter";
|
||||
|
||||
export const getQuoteController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const getQuoteController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerQuoteRepository(context);
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { ListQuotesUseCase } from "@/contexts/sales/application";
|
||||
import { registerQuoteRepository } from "@/contexts/sales/infrastructure/Quote.repository";
|
||||
import { ISalesContext } from "@/contexts/sales/infrastructure/Sales.context";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { ListQuotesController } from "./ListQuotes.controller";
|
||||
import { ListQuotesPresenter } from "./presenter";
|
||||
|
||||
export const listQuotesController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const listQuotesController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerQuoteRepository(context);
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { GetQuoteUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerQuoteRepository } from "../../../../Quote.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { ReportQuotePresenter } from "./reporter/ReportQuote.reporter";
|
||||
import { ReportQuoteController } from "./ReportQuote.controller";
|
||||
|
||||
export const reportQuoteController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const reportQuoteController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerQuoteRepository(context);
|
||||
|
||||
@ -1,14 +1,10 @@
|
||||
import { SetStatusQuoteUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerQuoteRepository } from "../../../../Quote.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { SetStatusQuoteController } from "./SetStatusQuote.controller";
|
||||
|
||||
export const setStatusQuoteController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const setStatusQuoteController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerQuoteRepository(context);
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
import { UpdateQuoteUseCase } from "@/contexts/sales/application";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { registerQuoteRepository } from "../../../../Quote.repository";
|
||||
import { ISalesContext } from "../../../../Sales.context";
|
||||
import { UpdateQuoteController } from "./UpdateQuote.controller";
|
||||
import { UpdateQuotePresenter } from "./presenter/UpdateQuote.presenter";
|
||||
|
||||
export const updateQuoteController = (
|
||||
req: Express.Request,
|
||||
res: Express.Response,
|
||||
next: Express.NextFunction
|
||||
) => {
|
||||
export const updateQuoteController = (req: Request, res: Response, next: NextFunction) => {
|
||||
const context: ISalesContext = res.locals.context;
|
||||
|
||||
registerQuoteRepository(context);
|
||||
|
||||
@ -1,15 +1,12 @@
|
||||
import { checkUser } from "@/contexts/auth";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response, Router } from "express";
|
||||
import { listArticlesController } from "../../../../contexts/catalog/infrastructure/express/controllers";
|
||||
|
||||
export const catalogRouter = (appRouter: Express.Router) => {
|
||||
const catalogRoutes: Express.Router = Express.Router({ mergeParams: true });
|
||||
export const catalogRouter = (appRouter: Router) => {
|
||||
const catalogRoutes: Router = Router({ mergeParams: true });
|
||||
|
||||
catalogRoutes.get(
|
||||
"/",
|
||||
checkUser,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
listArticlesController(res.locals["context"]).execute(req, res, next)
|
||||
catalogRoutes.get("/", checkUser, (req: Request, res: Response, next: NextFunction) =>
|
||||
listArticlesController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
appRouter.use("/catalog", catalogRoutes);
|
||||
|
||||
@ -4,10 +4,10 @@ import {
|
||||
listDealersController,
|
||||
} from "@/contexts/sales/infrastructure/express/controllers/dealers";
|
||||
import { getDealerMiddleware } from "@/contexts/sales/infrastructure/express/middlewares/dealerMiddleware";
|
||||
import Express from "express";
|
||||
import { Router } from "express";
|
||||
|
||||
export const DealerRouter = (appRouter: Express.Router) => {
|
||||
const dealerRoutes: Express.Router = Express.Router({ mergeParams: true });
|
||||
export const DealerRouter = (appRouter: Router) => {
|
||||
const dealerRoutes: Router = Router({ mergeParams: true });
|
||||
|
||||
dealerRoutes.get("/", checkisAdmin, listDealersController);
|
||||
dealerRoutes.get("/:dealerId", checkUser, getDealerMiddleware, getDealerController);
|
||||
|
||||
@ -3,23 +3,17 @@ import {
|
||||
createGetProfileController,
|
||||
createUpdateProfileController,
|
||||
} from "@/contexts/profile/infrastructure";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response, Router } from "express";
|
||||
|
||||
export const profileRouter = (appRouter: Express.Router) => {
|
||||
const profileRoutes: Express.Router = Express.Router({ mergeParams: true });
|
||||
export const profileRouter = (appRouter: Router) => {
|
||||
const profileRoutes: Router = Router({ mergeParams: true });
|
||||
|
||||
profileRoutes.get(
|
||||
"/",
|
||||
checkUser,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
createGetProfileController(res.locals["context"]).execute(req, res, next)
|
||||
profileRoutes.get("/", checkUser, (req: Request, res: Response, next: NextFunction) =>
|
||||
createGetProfileController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
profileRoutes.put(
|
||||
"/",
|
||||
checkUser,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
createUpdateProfileController(res.locals["context"]).execute(req, res, next)
|
||||
profileRoutes.put("/", checkUser, (req: Request, res: Response, next: NextFunction) =>
|
||||
createUpdateProfileController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
appRouter.use("/profile", profileRoutes);
|
||||
|
||||
@ -8,10 +8,10 @@ import {
|
||||
updateQuoteController,
|
||||
} from "@/contexts/sales/infrastructure/express/controllers";
|
||||
import { getDealerMiddleware } from "@/contexts/sales/infrastructure/express/middlewares/dealerMiddleware";
|
||||
import Express from "express";
|
||||
import { Router } from "express";
|
||||
|
||||
export const QuoteRouter = (appRouter: Express.Router) => {
|
||||
const quoteRoutes: Express.Router = Express.Router({ mergeParams: true });
|
||||
export const QuoteRouter = (appRouter: Router) => {
|
||||
const quoteRoutes: Router = Router({ mergeParams: true });
|
||||
|
||||
// Users CRUD
|
||||
quoteRoutes.get("/", checkUser, getDealerMiddleware, listQuotesController);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { checkAdminOrSelf, checkisAdmin } from "@/contexts/auth";
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response, Router } from "express";
|
||||
import {
|
||||
createCreateUserController,
|
||||
createDeleteUserController,
|
||||
@ -8,42 +8,27 @@ import {
|
||||
createUpdateUserController,
|
||||
} from "../../../../contexts/users/infrastructure/express/controllers";
|
||||
|
||||
export const usersRouter = (appRouter: Express.Router) => {
|
||||
const userRoutes: Express.Router = Express.Router({ mergeParams: true });
|
||||
export const usersRouter = (appRouter: Router) => {
|
||||
const userRoutes: Router = Router({ mergeParams: true });
|
||||
|
||||
userRoutes.get(
|
||||
"/",
|
||||
checkisAdmin,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
createListUsersController(res.locals["context"]).execute(req, res, next)
|
||||
userRoutes.get("/", checkisAdmin, (req: Request, res: Response, next: NextFunction) =>
|
||||
createListUsersController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
userRoutes.get(
|
||||
"/:userId",
|
||||
checkAdminOrSelf,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
createGetUserController(res.locals["context"]).execute(req, res, next)
|
||||
userRoutes.get("/:userId", checkAdminOrSelf, (req: Request, res: Response, next: NextFunction) =>
|
||||
createGetUserController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
userRoutes.post(
|
||||
"/",
|
||||
checkisAdmin,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
createCreateUserController(res.locals["context"]).execute(req, res, next)
|
||||
userRoutes.post("/", checkisAdmin, (req: Request, res: Response, next: NextFunction) =>
|
||||
createCreateUserController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
userRoutes.put(
|
||||
"/:userId",
|
||||
checkisAdmin,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
createUpdateUserController(res.locals["context"]).execute(req, res, next)
|
||||
userRoutes.put("/:userId", checkisAdmin, (req: Request, res: Response, next: NextFunction) =>
|
||||
createUpdateUserController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
userRoutes.delete(
|
||||
"/:userId",
|
||||
checkisAdmin,
|
||||
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
|
||||
createDeleteUserController(res.locals["context"]).execute(req, res, next)
|
||||
userRoutes.delete("/:userId", checkisAdmin, (req: Request, res: Response, next: NextFunction) =>
|
||||
createDeleteUserController(res.locals["context"]).execute(req, res, next)
|
||||
);
|
||||
|
||||
appRouter.use("/users", userRoutes);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import Express from "express";
|
||||
import { NextFunction, Request, Response, Router } from "express";
|
||||
import { createContextMiddleware } from "./context.middleware";
|
||||
import {
|
||||
DealerRouter,
|
||||
@ -10,13 +10,13 @@ import {
|
||||
} from "./routes";
|
||||
|
||||
export const v1Routes = () => {
|
||||
const routes = Express.Router({ mergeParams: true });
|
||||
const routes = Router({ mergeParams: true });
|
||||
|
||||
routes.get("/hello", (req, res) => {
|
||||
res.send("Hello world!");
|
||||
});
|
||||
|
||||
routes.use((req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||
routes.use((req: Request, res: Response, next: NextFunction) => {
|
||||
res.locals["context"] = createContextMiddleware();
|
||||
//res.locals["middlewares"] = createMiddlewareMap();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"types": ["jest"],
|
||||
//"baseUrl": "./src",
|
||||
"baseUrl": "./src",
|
||||
"moduleResolution": "node",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"],
|
||||
|
||||
@ -75,6 +75,14 @@
|
||||
"src/**/*.test.*",
|
||||
"node_modules",
|
||||
|
||||
"src/**/firebird/*"
|
||||
"src/**/firebird/*",
|
||||
|
||||
"src/**/CreateDealer.useCase.ts",
|
||||
"src/**/UpdateDealer.useCase.ts",
|
||||
"src/**/DeleteDealer.useCase.ts",
|
||||
|
||||
"src/**/createDealer/*",
|
||||
"src/**/updateDealer/*",
|
||||
"src/**/deleteDealer/*"
|
||||
]
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user