From 72933855506b578591a9223f8b736c59dc4a0f5a Mon Sep 17 00:00:00 2001 From: David Arranz Date: Tue, 17 Sep 2024 14:39:13 +0200 Subject: [PATCH] . --- .../editors/QuoteDetailsCardEditor.tsx | 10 ++++- .../application/ListArticlesUseCase.ts | 37 +++++-------------- .../users/application/ListUsers.useCase.ts | 32 +++------------- server/src/infrastructure/logger/index.ts | 5 +++ 4 files changed, 28 insertions(+), 56 deletions(-) diff --git a/client/src/app/quotes/components/editors/QuoteDetailsCardEditor.tsx b/client/src/app/quotes/components/editors/QuoteDetailsCardEditor.tsx index fa9f11a..a3a367e 100644 --- a/client/src/app/quotes/components/editors/QuoteDetailsCardEditor.tsx +++ b/client/src/app/quotes/components/editors/QuoteDetailsCardEditor.tsx @@ -58,8 +58,14 @@ export const QuoteDetailsCardEditor = ({ id: "description" as const, accessorKey: "description", header: t("quotes.form_fields.items.description.label"), - cell: ({ row: { index } }) => { - return ; + cell: ({ row: { index, original } }) => { + return ( + + ); }, size: 500, }, diff --git a/server/src/contexts/catalog/application/ListArticlesUseCase.ts b/server/src/contexts/catalog/application/ListArticlesUseCase.ts index 2bad7e3..5cfb6de 100644 --- a/server/src/contexts/catalog/application/ListArticlesUseCase.ts +++ b/server/src/contexts/catalog/application/ListArticlesUseCase.ts @@ -1,18 +1,10 @@ -import { - IUseCase, - IUseCaseError, - UseCaseError, -} from "@/contexts/common/application/useCases"; +import { IUseCase, IUseCaseError, UseCaseError } from "@/contexts/common/application/useCases"; import { IRepositoryManager } from "@/contexts/common/domain"; -import { - Collection, - ICollection, - IQueryCriteria, - Result, -} from "@shared/contexts"; +import { Collection, ICollection, IQueryCriteria, Result } from "@shared/contexts"; import { IInfrastructureError } from "@/contexts/common/infrastructure"; import { ISequelizeAdapter } from "@/contexts/common/infrastructure/sequelize"; +import { logger } from "@/infrastructure/logger"; import { Article, ICatalogRepository } from "../domain"; export interface IListArticlesParams { @@ -29,10 +21,7 @@ export class ListArticlesUseCase private _adapter: ISequelizeAdapter; private _repositoryManager: IRepositoryManager; - constructor(props: { - adapter: ISequelizeAdapter; - repositoryManager: IRepositoryManager; - }) { + constructor(props: { adapter: ISequelizeAdapter; repositoryManager: IRepositoryManager }) { this._adapter = props.adapter; this._repositoryManager = props.repositoryManager; } @@ -41,9 +30,7 @@ export class ListArticlesUseCase return this._repositoryManager.getRepository(name); } - async execute( - params: Partial, - ): Promise { + async execute(params: Partial): Promise { const { queryCriteria } = params; return this.findArticles(queryCriteria); @@ -51,26 +38,20 @@ export class ListArticlesUseCase private async findArticles(queryCriteria) { const transaction = this._adapter.startTransaction(); - const productRepoBuilder = - this.getRepositoryByName("Article"); + const productRepoBuilder = this.getRepositoryByName("Article"); let products: ICollection
= new Collection(); try { await transaction.complete(async (t) => { - products = await productRepoBuilder({ transaction: t }).findAll( - queryCriteria, - ); + products = await productRepoBuilder({ transaction: t }).findAll(queryCriteria); }); return Result.ok(products); } catch (error: unknown) { const _error = error as IInfrastructureError; + logger().error(_error); return Result.fail( - UseCaseError.create( - UseCaseError.REPOSITORY_ERROR, - "Error al listar el catálogo", - _error, - ), + UseCaseError.create(UseCaseError.REPOSITORY_ERROR, "Error al listar el catálogo", _error) ); } } diff --git a/server/src/contexts/users/application/ListUsers.useCase.ts b/server/src/contexts/users/application/ListUsers.useCase.ts index 135a014..da26bea 100644 --- a/server/src/contexts/users/application/ListUsers.useCase.ts +++ b/server/src/contexts/users/application/ListUsers.useCase.ts @@ -1,15 +1,6 @@ -import { - IUseCase, - IUseCaseError, - UseCaseError, -} from "@/contexts/common/application/useCases"; +import { IUseCase, IUseCaseError, UseCaseError } from "@/contexts/common/application/useCases"; import { IRepositoryManager } from "@/contexts/common/domain"; -import { - Collection, - ICollection, - IQueryCriteria, - Result, -} from "@shared/contexts"; +import { Collection, ICollection, IQueryCriteria, Result } from "@shared/contexts"; import { IInfrastructureError } from "@/contexts/common/infrastructure"; import { ISequelizeAdapter } from "@/contexts/common/infrastructure/sequelize"; @@ -24,16 +15,11 @@ export type ListUsersResult = | Result // Misc errors (value objects) | Result, never>; // Success! -export class ListUsersUseCase - implements IUseCase> -{ +export class ListUsersUseCase implements IUseCase> { private _adapter: ISequelizeAdapter; private _repositoryManager: IRepositoryManager; - constructor(props: { - adapter: ISequelizeAdapter; - repositoryManager: IRepositoryManager; - }) { + constructor(props: { adapter: ISequelizeAdapter; repositoryManager: IRepositoryManager }) { this._adapter = props.adapter; this._repositoryManager = props.repositoryManager; } @@ -56,19 +42,13 @@ export class ListUsersUseCase try { await transaction.complete(async (t) => { - users = await userRepoBuilder({ transaction: t }).findAll( - queryCriteria, - ); + users = await userRepoBuilder({ transaction: t }).findAll(queryCriteria); }); return Result.ok(users); } catch (error: unknown) { const _error = error as IInfrastructureError; return Result.fail( - UseCaseError.create( - UseCaseError.REPOSITORY_ERROR, - "Error al listar los usurios", - _error, - ), + UseCaseError.create(UseCaseError.REPOSITORY_ERROR, "Error al listar los usuarios", _error) ); } } diff --git a/server/src/infrastructure/logger/index.ts b/server/src/infrastructure/logger/index.ts index 97ed656..2c499a9 100644 --- a/server/src/infrastructure/logger/index.ts +++ b/server/src/infrastructure/logger/index.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ +import rTracer from "cls-rtracer"; import path from "path"; import { createLogger, format, transports } from "winston"; import DailyRotateFile from "winston-daily-rotate-file"; @@ -85,3 +86,7 @@ function initLogger(rTracer) { } export { initLogger }; + +export const logger = () => { + return initLogger(rTracer); +};