52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
|
|
import type { ITransactionManager } from "@erp/core/api";
|
||
|
|
|
||
|
|
import type { IIssuedInvoiceDocumentReportService, IIssuedInvoiceFinder } from "../services";
|
||
|
|
import type { IIssuedInvoiceListItemSnapshotBuilder } from "../snapshot-builders";
|
||
|
|
import type { IIssuedInvoiceFullSnapshotBuilder } from "../snapshot-builders/full";
|
||
|
|
import type { IIssuedInvoiceReportSnapshotBuilder } from "../snapshot-builders/report";
|
||
|
|
import {
|
||
|
|
GetIssuedInvoiceByIdUseCase,
|
||
|
|
ListIssuedInvoicesUseCase,
|
||
|
|
ReportIssuedInvoiceUseCase,
|
||
|
|
} from "../use-cases";
|
||
|
|
|
||
|
|
export function buildGetIssuedInvoiceByIdUseCase(deps: {
|
||
|
|
finder: IIssuedInvoiceFinder;
|
||
|
|
fullSnapshotBuilder: IIssuedInvoiceFullSnapshotBuilder;
|
||
|
|
transactionManager: ITransactionManager;
|
||
|
|
}) {
|
||
|
|
return new GetIssuedInvoiceByIdUseCase(
|
||
|
|
deps.finder,
|
||
|
|
deps.fullSnapshotBuilder,
|
||
|
|
deps.transactionManager
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
export function buildListIssuedInvoicesUseCase(deps: {
|
||
|
|
finder: IIssuedInvoiceFinder;
|
||
|
|
itemSnapshotBuilder: IIssuedInvoiceListItemSnapshotBuilder;
|
||
|
|
transactionManager: ITransactionManager;
|
||
|
|
}) {
|
||
|
|
return new ListIssuedInvoicesUseCase(
|
||
|
|
deps.finder,
|
||
|
|
deps.itemSnapshotBuilder,
|
||
|
|
deps.transactionManager
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
export function buildReportIssuedInvoiceUseCase(deps: {
|
||
|
|
finder: IIssuedInvoiceFinder;
|
||
|
|
fullSnapshotBuilder: IIssuedInvoiceFullSnapshotBuilder;
|
||
|
|
reportSnapshotBuilder: IIssuedInvoiceReportSnapshotBuilder;
|
||
|
|
documentService: IIssuedInvoiceDocumentReportService;
|
||
|
|
transactionManager: ITransactionManager;
|
||
|
|
}) {
|
||
|
|
return new ReportIssuedInvoiceUseCase(
|
||
|
|
deps.finder,
|
||
|
|
deps.fullSnapshotBuilder,
|
||
|
|
deps.reportSnapshotBuilder,
|
||
|
|
deps.documentService,
|
||
|
|
deps.transactionManager
|
||
|
|
);
|
||
|
|
}
|