FactuGES_ERP/modules/customers/src/api/application/di/customer-use-cases.di.ts

78 lines
2.4 KiB
TypeScript
Raw Normal View History

2026-03-07 18:27:23 +00:00
import type { ITransactionManager } from "@erp/core/api";
2026-03-07 21:39:21 +00:00
import type { ICustomerFinder } from "../services";
import type { ICustomerSummarySnapshotBuilder } from "../snapshot-builders";
import { ListCustomersUseCase } from "../use-cases";
2026-03-07 18:27:23 +00:00
2026-03-07 21:39:21 +00:00
/*export function buildGetCustomerByIdUseCase(deps: {
2026-03-07 18:27:23 +00:00
finder: ICustomerFinder;
fullSnapshotBuilder: ICustomerFullSnapshotBuilder;
transactionManager: ITransactionManager;
}) {
return new GetCustomerByIdUseCase(deps.finder, deps.fullSnapshotBuilder, deps.transactionManager);
2026-03-07 21:39:21 +00:00
}*/
2026-03-07 18:27:23 +00:00
export function buildListCustomersUseCase(deps: {
finder: ICustomerFinder;
2026-03-07 21:39:21 +00:00
summarySnapshotBuilder: ICustomerSummarySnapshotBuilder;
2026-03-07 18:27:23 +00:00
transactionManager: ITransactionManager;
}) {
2026-03-07 21:39:21 +00:00
return new ListCustomersUseCase(
deps.finder,
deps.summarySnapshotBuilder,
deps.transactionManager
);
2026-03-07 18:27:23 +00:00
}
2026-03-07 21:39:21 +00:00
/*export function buildReportCustomerUseCase(deps: {
2026-03-07 18:27:23 +00:00
finder: ICustomerFinder;
fullSnapshotBuilder: ICustomerFullSnapshotBuilder;
reportSnapshotBuilder: ICustomerReportSnapshotBuilder;
documentService: CustomerDocumentGeneratorService;
transactionManager: ITransactionManager;
}) {
return new ReportCustomerUseCase(
deps.finder,
deps.fullSnapshotBuilder,
deps.reportSnapshotBuilder,
deps.documentService,
deps.transactionManager
);
}
export function buildCreateCustomerUseCase(deps: {
creator: ICustomerCreator;
dtoMapper: ICreateCustomerInputMapper;
fullSnapshotBuilder: ICustomerFullSnapshotBuilder;
transactionManager: ITransactionManager;
}) {
return new CreateCustomerUseCase({
dtoMapper: deps.dtoMapper,
creator: deps.creator,
fullSnapshotBuilder: deps.fullSnapshotBuilder,
transactionManager: deps.transactionManager,
});
2026-03-07 21:39:21 +00:00
}*/
2026-03-07 18:27:23 +00:00
/*export function buildUpdateCustomerUseCase(deps: {
finder: ICustomerFinder;
fullSnapshotBuilder: ICustomerFullSnapshotBuilder;
}) {
return new UpdateCustomerUseCase(deps.finder, deps.fullSnapshotBuilder);
}
export function buildDeleteCustomerUseCase(deps: { finder: ICustomerFinder }) {
return new DeleteCustomerUseCase(deps.finder);
}
export function buildIssueCustomerUseCase(deps: { finder: ICustomerFinder }) {
return new IssueCustomerUseCase(deps.finder);
}
export function buildChangeStatusCustomerUseCase(deps: {
finder: ICustomerFinder;
transactionManager: ITransactionManager;
}) {
return new ChangeStatusCustomerUseCase(deps.finder, deps.transactionManager);
}*/