import { Module } from "@nestjs/common"; import { BillingModule } from "../billing/billing.module"; import { StatementsController } from "./statements.controller"; import { StatementsService } from "./statements.service"; import { StatementMatcherService } from "./statement-matcher.service"; import { OCR_PROVIDER } from "./ocr/ocr.provider"; import { TesseractOcrProvider } from "./ocr/tesseract.provider"; /** * The concrete OCR engine is bound here and nowhere else — everything * downstream depends on the OcrProvider interface, so swapping Tesseract for a * managed extraction API is a one-line change in this file. */ @Module({ imports: [BillingModule], controllers: [StatementsController], providers: [ StatementsService, StatementMatcherService, { provide: OCR_PROVIDER, useClass: TesseractOcrProvider }, ], }) export class StatementsModule {}