Uecko_ERP/apps/server/src/contexts/customer-billing/domain/services/customer-invoice.service.ts

28 lines
984 B
TypeScript
Raw Normal View History

2025-04-22 15:09:57 +00:00
import { UniqueID } from "core/common/domain";
import { Collection, Result } from "core/common/helpers";
2025-02-25 15:25:30 +00:00
import { CustomerInvoice } from "../aggregates";
import { ICustomerInvoiceRepository } from "../repositories";
import { ICustomerInvoiceService } from "./customer-invoice-service.interface";
export class CustomerInvoiceService implements ICustomerInvoiceService {
constructor(private readonly invoiceRepository: ICustomerInvoiceRepository) {}
async findCustomerInvoices(
transaction?: any
): Promise<Result<Collection<CustomerInvoice>, Error>> {
const invoicesOrError = await this.invoiceRepository.findAll(transaction);
if (invoicesOrError.isFailure) {
return Result.fail(invoicesOrError.error);
}
return Result.ok(invoicesOrError.data);
}
async findCustomerInvoiceById(
invoiceId: UniqueID,
transaction?: any
): Promise<Result<CustomerInvoice>> {
return await this.invoiceRepository.findById(invoiceId, transaction);
}
}