factuges_2025/modules/invoices/src/server/domain/services/invoice-service.interface.ts
2025-04-30 20:26:39 +02:00

22 lines
681 B
TypeScript

import { Collection, Result, UniqueID } from "@rdx/core";
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>>;
}