Uecko_ERP/modules/customer-invoices/src/api/domain/services/customer-invoice-service.interface.ts

34 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-06-11 15:13:44 +00:00
import { Criteria } from "@repo/rdx-criteria/server";
import { UniqueID } from "@repo/rdx-ddd";
import { Collection, Result } from "@repo/rdx-utils";
2025-06-24 18:38:57 +00:00
import { CustomerInvoice, CustomerInvoiceProps } from "../aggregates";
2025-06-11 15:13:44 +00:00
export interface ICustomerInvoiceService {
2025-06-26 18:05:33 +00:00
build(props: CustomerInvoiceProps, id?: UniqueID): Result<CustomerInvoice, Error>;
2025-06-26 11:32:55 +00:00
save(invoice: CustomerInvoice, transaction: any): Promise<Result<CustomerInvoice, Error>>;
2025-06-26 18:05:33 +00:00
existsById(id: UniqueID, transaction?: any): Promise<Result<boolean, Error>>;
2025-06-26 11:32:55 +00:00
findByCriteria(
2025-06-12 06:55:17 +00:00
criteria: Criteria,
transaction?: any
): Promise<Result<Collection<CustomerInvoice>, Error>>;
2025-06-11 15:13:44 +00:00
2025-06-26 11:32:55 +00:00
getById(id: UniqueID, transaction?: any): Promise<Result<CustomerInvoice>>;
updateById(
id: UniqueID,
2025-06-24 18:38:57 +00:00
data: Partial<CustomerInvoiceProps>,
2025-06-11 15:13:44 +00:00
transaction?: any
): Promise<Result<CustomerInvoice, Error>>;
createCustomerInvoice(
2025-06-26 11:32:55 +00:00
id: UniqueID,
2025-06-24 18:38:57 +00:00
data: CustomerInvoiceProps,
2025-06-11 15:13:44 +00:00
transaction?: any
): Promise<Result<CustomerInvoice, Error>>;
2025-06-26 18:25:38 +00:00
deleteById(id: UniqueID, transaction?: any): Promise<Result<void, Error>>;
2025-06-11 15:13:44 +00:00
}