import { CryptoModule } from '@lib/crypto/src';
import { ExcelModule } from '@lib/excel/src';
import { S3Module } from '@lib/s3/src';
import { VfaxModule } from '@lib/vfax/src';
import { Module } from '@nestjs/common';
import { AlarmModule } from '../alarm/alarm.module';
import { InvoiceModule } from '../invoice/invoice.module';
import { MoneyModule } from '../money/money.module';
import { FaxAdminController } from './fax-admin.controller';
import { FaxUserController } from './fax-user.controller';
import { FaxRepository } from './fax.repository';
import { FaxService } from './fax.service';

@Module({
  //* InvoiceModule — 재발송이 저장본에 팩스번호를 덮어쓰려면 InvoiceFaxOverlayService 가 필요하다.
  imports: [S3Module, CryptoModule, ExcelModule, MoneyModule, AlarmModule, VfaxModule, InvoiceModule],
  controllers: [FaxAdminController, FaxUserController],
  providers: [FaxService, FaxRepository],
  exports: [FaxService],
})
export class FaxModule {}
