Uecko_ERP/modules/customer-invoices/src/api/infrastructure/invoice-series/di/invoice-series.di.ts
david 05f4b1337b feat(series-de-facturas): implementar la funcionalidad de gestión de series de facturas
- Se han añadido las dependencias de las series de facturas y los servicios internos.
- Se han creado un buscador de series de facturas y generadores de instantáneas para mostrar una lista de series de facturas.
- Se ha implementado un caso de uso para mostrar una lista de series de facturas activas por empresa.
- Se ha desarrollado la gestión de errores de la API para los errores relacionados con las series de facturas.
- Se han introducido nuevas clases de error para gestionar la validación de las series de facturas y los problemas de concurrencia.
- Se han añadido rutas y controladores de Express para la gestión de series de facturas.
- Se han definido DTO de respuesta para mostrar una lista de series de facturas.
- Se han actualizado los DTO comunes para incluir esquemas relacionados con las series de facturas.
2026-07-07 22:52:14 +02:00

37 lines
1.0 KiB
TypeScript

import { type ModuleParams, buildTransactionManager } from "@erp/core/api";
import {
type ListInvoiceSeriesUseCase,
buildInvoiceSeriesFinder,
buildInvoiceSeriesSnapshotBuilders,
buildListInvoiceSeriesUseCase,
} from "../../../application";
import { buildInvoiceSeriesRepository } from "./invoice-series-repository.di";
export type InvoiceSeriesInternalDeps = {
useCases: {
listInvoiceSeries: () => ListInvoiceSeriesUseCase;
};
};
export function buildInvoiceSeriesDependencies(params: ModuleParams): InvoiceSeriesInternalDeps {
const { database } = params;
const transactionManager = buildTransactionManager(database);
const repository = buildInvoiceSeriesRepository(database);
const finder = buildInvoiceSeriesFinder(repository);
const snapshotBuilders = buildInvoiceSeriesSnapshotBuilders();
return {
useCases: {
listInvoiceSeries: () =>
buildListInvoiceSeriesUseCase({
finder,
summarySnapshotBuilder: snapshotBuilders.summary,
transactionManager,
}),
},
};
}