import { Module, forwardRef } from '@nestjs/common'
import { TypeOrmModule } from '@nestjs/typeorm'
import { AuthModule } from 'src/auth/auth.module'
import { UserModule } from 'src/user/user.module'
import { ProgramModule } from 'src/program/program.module'
import { FeatureFlagModule } from 'src/feature-flag/feature-flag.module'
import { ProgramRegistrationOnlineSession } from 'src/common/entities/program-registration-online-session.entity'
import { ReportsController } from './reports.controller'
import { ReportsService } from './reports.service'
import { ReportsRepository } from './reports.repository'
import { AwsS3Service } from 'src/common/services/awsS3.service'
import { ExcelService } from 'src/common/services/excel.service'

@Module({
  imports: [
    forwardRef(() => AuthModule),
    forwardRef(() => UserModule),
    ProgramModule,
    FeatureFlagModule,
    TypeOrmModule.forFeature([ProgramRegistrationOnlineSession]),
  ],
  controllers: [ReportsController],
  providers: [ReportsService, ReportsRepository, AwsS3Service, ExcelService],
})
export class ReportsModule {}
