47 lines
2.0 KiB
TypeScript
47 lines
2.0 KiB
TypeScript
/**
|
|
* ════════════════════════════════════════════════════════════
|
|
* مُصادَق (Musadaq) — Invoices Module (Finalized)
|
|
* ════════════════════════════════════════════════════════════
|
|
*/
|
|
|
|
import { Module, forwardRef } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { BullModule } from '@nestjs/bull';
|
|
import { InvoicesService } from './invoice.service';
|
|
import { InvoicesController } from './invoice.controller';
|
|
import { PublicInvoiceController } from './public-invoice.controller';
|
|
import { Invoice } from './entities/invoice.entity';
|
|
import { InvoiceLine } from './entities/invoice-line.entity';
|
|
import { InvoiceProcessor } from './invoice.processor';
|
|
import { GeminiExtractorService } from './gemini-extractor.service';
|
|
import { UBLGeneratorService } from './ubl-generator.service';
|
|
import { JoFotaraGatewayService } from './jofotara-gateway.service';
|
|
import { LocalStorageService } from '../../services/storage/local-storage.service';
|
|
import { SubscriptionsModule } from '../subscriptions/subscription.module';
|
|
import { TaxValidationModule } from '../validation/tax-validation.module';
|
|
import { CompaniesModule } from '../companies/company.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([Invoice, InvoiceLine]),
|
|
BullModule.registerQueue(
|
|
{ name: 'invoice-processing' },
|
|
{ name: 'invoice-bulk-queue' }
|
|
),
|
|
forwardRef(() => SubscriptionsModule),
|
|
forwardRef(() => CompaniesModule),
|
|
TaxValidationModule,
|
|
],
|
|
providers: [
|
|
InvoicesService,
|
|
InvoiceProcessor,
|
|
GeminiExtractorService,
|
|
UBLGeneratorService,
|
|
JoFotaraGatewayService,
|
|
LocalStorageService,
|
|
],
|
|
controllers: [InvoicesController, PublicInvoiceController],
|
|
exports: [InvoicesService],
|
|
})
|
|
export class InvoicesModule {}
|