Mirrors the utility statement intake on the insurance side: a policy_ocr batch/document pair of tables, a GMX parser, a matcher keyed on Policy.policyNumber, and a "Captura" screen under /polizas that proposes policy -> customer for staff to confirm. Lifts the OCR seam out of StatementsModule into its own OcrModule so PolicyOcrModule can inject OCR_PROVIDER without taking on the rest of the statement pipeline; StatementsModule now imports it and binds nothing itself. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
19 lines
754 B
TypeScript
19 lines
754 B
TypeScript
import { Module } from "@nestjs/common";
|
|
import { BillingModule } from "../billing/billing.module";
|
|
import { OcrModule } from "../ocr/ocr.module";
|
|
import { StatementsController } from "./statements.controller";
|
|
import { StatementsService } from "./statements.service";
|
|
import { StatementMatcherService } from "./statement-matcher.service";
|
|
|
|
/**
|
|
* The concrete OCR engine is bound in OcrModule (see apps/api/src/ocr/) —
|
|
* everything downstream depends on the OcrProvider interface, so swapping
|
|
* Tesseract for a managed extraction API is a one-line change there.
|
|
*/
|
|
@Module({
|
|
imports: [BillingModule, OcrModule],
|
|
controllers: [StatementsController],
|
|
providers: [StatementsService, StatementMatcherService],
|
|
})
|
|
export class StatementsModule {}
|