23 lines
716 B
TypeScript
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>>;
|
|
}
|