This commit is contained in:
David Arranz 2024-10-08 18:53:22 +02:00
parent fbb21c3fd3
commit dc575dd468
10 changed files with 17 additions and 35 deletions

View File

@ -7,7 +7,7 @@ import { IRepositoryManager } from "../domain";
import { ISequelizeAdapter } from "./sequelize"; import { ISequelizeAdapter } from "./sequelize";
export interface IContext {} export interface IContext {}
11111111;
export interface ICommonContext extends IContext { export interface ICommonContext extends IContext {
adapter: ISequelizeAdapter; adapter: ISequelizeAdapter;
repositoryManager: IRepositoryManager; repositoryManager: IRepositoryManager;

View File

@ -1,7 +1,7 @@
import { NextFunction, Request, Response } from "express"; import { NextFunction, Request, Response } from "express";
export const handleRequest = export const handleRequest =
(controllerFactory: any) => (req: Request, res: Response, next: NextFunction) => { (controllerCreator: any) => (req: Request, res: Response, next: NextFunction) => {
const context = res.locals["context"]; const context = res.locals["context"];
return controllerFactory(context, req, res, next).execute(req, res, next); return controllerCreator(context, req, res, next).execute(req, res, next);
}; };

View File

@ -1,5 +1,5 @@
export * from "./ControllerFactory";
export * from "./ExpressController"; export * from "./ExpressController";
export * from "./ExpressErrorResponse"; export * from "./ExpressErrorResponse";
export * from "./handleRequest";
export * from "./middlewares"; export * from "./middlewares";
export * from "./PassportStrategyController"; export * from "./PassportStrategyController";

View File

@ -1,13 +1,10 @@
import { CreateDealerUseCase } from "@/contexts/sales/application"; import { CreateDealerUseCase } from "@/contexts/sales/application";
import { NextFunction, Request, Response } from "express";
import { registerDealerRepository } from "../../../../Dealer.repository"; import { registerDealerRepository } from "../../../../Dealer.repository";
import { ISalesContext } from "../../../../Sales.context"; import { ISalesContext } from "../../../../Sales.context";
import { CreateDealerController } from "./CreateDealer.controller"; import { CreateDealerController } from "./CreateDealer.controller";
import { CreateDealerPresenter } from "./presenter"; import { CreateDealerPresenter } from "./presenter";
export const createDealerController = (req: Request, res: Response, next: NextFunction) => { export const createDealerController = (context: ISalesContext) => {
const context: ISalesContext = res.locals.context;
registerDealerRepository(context); registerDealerRepository(context);
return new CreateDealerController( return new CreateDealerController(
{ {
@ -15,5 +12,5 @@ export const createDealerController = (req: Request, res: Response, next: NextFu
presenter: CreateDealerPresenter, presenter: CreateDealerPresenter,
}, },
context context
).execute(req, res, next); );
}; };

View File

@ -1,13 +1,10 @@
import { GetDealerUseCase } from "@/contexts/sales/application"; import { GetDealerUseCase } from "@/contexts/sales/application";
import { NextFunction, Request, Response } from "express";
import { registerDealerRepository } from "../../../../Dealer.repository"; import { registerDealerRepository } from "../../../../Dealer.repository";
import { ISalesContext } from "../../../../Sales.context"; import { ISalesContext } from "../../../../Sales.context";
import { GetDealerController } from "./GetDealer.controller"; import { GetDealerController } from "./GetDealer.controller";
import { GetDealerPresenter } from "./presenter"; import { GetDealerPresenter } from "./presenter";
export const getDealerController = (req: Request, res: Response, next: NextFunction) => { export const getDealerController = (context: ISalesContext) => {
const context: ISalesContext = res.locals.context;
registerDealerRepository(context); registerDealerRepository(context);
return new GetDealerController( return new GetDealerController(
@ -16,5 +13,5 @@ export const getDealerController = (req: Request, res: Response, next: NextFunct
presenter: GetDealerPresenter, presenter: GetDealerPresenter,
}, },
context context
).execute(req, res, next); );
}; };

View File

@ -1,13 +1,10 @@
import { GetDealerByUserUseCase } from "@/contexts/sales/application"; import { GetDealerByUserUseCase } from "@/contexts/sales/application";
import { NextFunction, Request, Response } from "express";
import { registerDealerRepository } from "../../../../Dealer.repository"; import { registerDealerRepository } from "../../../../Dealer.repository";
import { ISalesContext } from "../../../../Sales.context"; import { ISalesContext } from "../../../../Sales.context";
import { GetDealerByUserController } from "./GetDealerByUser.controller"; import { GetDealerByUserController } from "./GetDealerByUser.controller";
import { GetDealerByUserPresenter } from "./presenter"; import { GetDealerByUserPresenter } from "./presenter";
export const getDealerByUserController = (req: Request, res: Response, next: NextFunction) => { export const getDealerByUserController = (context: ISalesContext) => {
const context: ISalesContext = res.locals.context;
registerDealerRepository(context); registerDealerRepository(context);
return new GetDealerByUserController( return new GetDealerByUserController(
@ -16,5 +13,5 @@ export const getDealerByUserController = (req: Request, res: Response, next: Nex
presenter: GetDealerByUserPresenter, presenter: GetDealerByUserPresenter,
}, },
context context
).execute(req, res, next); );
}; };

View File

@ -1,13 +1,10 @@
import { ListDealersUseCase } from "@/contexts/sales/application"; import { ListDealersUseCase } from "@/contexts/sales/application";
import { NextFunction, Request, Response } from "express";
import { registerDealerRepository } from "../../../../Dealer.repository"; import { registerDealerRepository } from "../../../../Dealer.repository";
import { ISalesContext } from "../../../../Sales.context"; import { ISalesContext } from "../../../../Sales.context";
import { ListDealersController } from "./ListDealers.controller"; import { ListDealersController } from "./ListDealers.controller";
import { listDealersPresenter } from "./presenter/ListDealers.presenter"; import { listDealersPresenter } from "./presenter/ListDealers.presenter";
export const listDealersController = (req: Request, res: Response, next: NextFunction) => { export const listDealersController = (context: ISalesContext) => {
const context: ISalesContext = res.locals.context;
registerDealerRepository(context); registerDealerRepository(context);
return new ListDealersController( return new ListDealersController(
{ {
@ -15,5 +12,5 @@ export const listDealersController = (req: Request, res: Response, next: NextFun
presenter: listDealersPresenter, presenter: listDealersPresenter,
}, },
context context
).execute(req, res, next); );
}; };

View File

@ -1,17 +1,14 @@
import { DeleteQuoteUseCase } from "@/contexts/sales/application"; import { DeleteQuoteUseCase } from "@/contexts/sales/application";
import { NextFunction, Request, Response } from "express";
import { registerQuoteRepository } from "../../../../Quote.repository"; import { registerQuoteRepository } from "../../../../Quote.repository";
import { ISalesContext } from "../../../../Sales.context"; import { ISalesContext } from "../../../../Sales.context";
import { DeleteQuoteController } from "./DeleteQuote.controller"; import { DeleteQuoteController } from "./DeleteQuote.controller";
export const deleteQuoteController = (req: Request, res: Response, next: NextFunction) => { export const deleteQuoteController = (context: ISalesContext) => {
const context: ISalesContext = res.locals.context;
registerQuoteRepository(context); registerQuoteRepository(context);
return new DeleteQuoteController( return new DeleteQuoteController(
{ {
useCase: new DeleteQuoteUseCase(context), useCase: new DeleteQuoteUseCase(context),
}, },
context context
).execute(req, res, next); );
}; };

View File

@ -1,13 +1,10 @@
import { UpdateQuoteUseCase } from "@/contexts/sales/application"; import { UpdateQuoteUseCase } from "@/contexts/sales/application";
import { NextFunction, Request, Response } from "express";
import { registerQuoteRepository } from "../../../../Quote.repository"; import { registerQuoteRepository } from "../../../../Quote.repository";
import { ISalesContext } from "../../../../Sales.context"; import { ISalesContext } from "../../../../Sales.context";
import { UpdateQuoteController } from "./UpdateQuote.controller"; import { UpdateQuoteController } from "./UpdateQuote.controller";
import { UpdateQuotePresenter } from "./presenter/UpdateQuote.presenter"; import { UpdateQuotePresenter } from "./presenter/UpdateQuote.presenter";
export const updateQuoteController = (req: Request, res: Response, next: NextFunction) => { export const updateQuoteController = (context: ISalesContext) => {
const context: ISalesContext = res.locals.context;
registerQuoteRepository(context); registerQuoteRepository(context);
return new UpdateQuoteController( return new UpdateQuoteController(
{ {
@ -15,5 +12,5 @@ export const updateQuoteController = (req: Request, res: Response, next: NextFun
presenter: UpdateQuotePresenter, presenter: UpdateQuotePresenter,
}, },
context context
).execute(req, res, next); );
}; };

View File

@ -142,7 +142,7 @@ class QuoteMapper
items, items,
dealer_id: source.dealerId.toPrimitive(), dealer_id: source.dealerId.toPrimitive(),
date_sent: source.dateSent?.toPrimitive(), date_sent: source.dateSent.toPrimitive() === "" ? null : source.dateSent.toPrimitive(),
}; };
return quote; return quote;