- 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.
37 lines
1.0 KiB
TypeScript
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,
|
|
}),
|
|
},
|
|
};
|
|
}
|