Uecko_ERP/apps/server/src/contexts/invoicing/application/services/participantFinder.ts

21 lines
789 B
TypeScript
Raw Normal View History

2025-03-18 08:05:00 +00:00
import { IAdapter, RepositoryBuilder } from "@/contexts/common/domain";
import { UniqueID } from "@shared/contexts";
import { IInvoiceParticipantRepository } from "../../domain";
import { InvoiceParticipant } from "../../domain/InvoiceParticipant/InvoiceParticipant";
export const participantFinder = async (
participantId: UniqueID,
adapter: IAdapter,
repository: RepositoryBuilder<IInvoiceParticipantRepository>,
): Promise<InvoiceParticipant | undefined> => {
if (!participantId || (participantId && participantId.isNull())) {
return Promise.resolve(undefined);
}
const participant = await adapter
.startTransaction()
.complete((t) => repository({ transaction: t }).getById(participantId));
return Promise.resolve(participant ? participant : undefined);
};