forked from Yara724/api
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
import { Injectable, NotFoundException } from "@nestjs/common";
|
|
import { ExpertInsurerService } from "src/expert-insurer/expert-insurer.service";
|
|
import { buildInsurerFileReport } from "./case-expert-report.builder";
|
|
import { CaseExpertReportPdfService } from "./case-expert-report-pdf.service";
|
|
import { InsurerFileReportPdfResult } from "./case-expert-report.types";
|
|
|
|
@Injectable()
|
|
export class CaseExpertReportService {
|
|
constructor(
|
|
private readonly expertInsurerService: ExpertInsurerService,
|
|
private readonly pdfService: CaseExpertReportPdfService,
|
|
) {}
|
|
|
|
async generateForInsurer(
|
|
publicId: string,
|
|
actor: { clientKey?: string },
|
|
): Promise<InsurerFileReportPdfResult> {
|
|
const clientKey = actor?.clientKey;
|
|
if (!clientKey) {
|
|
throw new NotFoundException("Insurer context not found");
|
|
}
|
|
|
|
const file = await this.expertInsurerService.retrieveFileDetailsByPublicId(
|
|
clientKey,
|
|
publicId,
|
|
);
|
|
const model = buildInsurerFileReport(file);
|
|
return this.pdfService.render(model);
|
|
}
|
|
}
|