factuges_2025/modules/invoices/src/server/domain/services/invoice-service.interface.ts
2025-04-27 22:47:47 +02:00

23 lines
716 B
TypeScript

import { UniqueID } from "@rdx/ddd-domain";
import { Collection, Result } from "@rdx/utils";
import { IInvoiceProps, Invoice } from "../aggregates";
export interface IInvoiceService {
findInvoices(transaction?: any): Promise<Result<Collection<Invoice>, Error>>;
findInvoiceById(invoiceId: UniqueID, transaction?: any): Promise<Result<Invoice>>;
updateInvoiceById(
invoiceId: UniqueID,
data: Partial<IInvoiceProps>,
transaction?: any
): Promise<Result<Invoice, Error>>;
createInvoice(
invoiceId: UniqueID,
data: IInvoiceProps,
transaction?: any
): Promise<Result<Invoice, Error>>;
deleteInvoiceById(invoiceId: UniqueID, transaction?: any): Promise<Result<boolean, Error>>;
}