import { Module } from '@nestjs/common';
import { VcElementsController } from './controllers/elements.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { VcCrudService } from './services/crud.service';
import { VcElementsService } from './services/elements.service';
import { CacheModule } from '@nestjs/cache-manager';
import { MenuActionsEntity } from 'src/entities/MenuActions.entity';
import { VisaServiceMasterEntity } from 'src/entities/VisaServiceMaster.entity';
import { CollegeEntity } from 'src/entities/College.entity';
import { MasteragentEntity } from 'src/entities/Masteragent.entity';
import { B2bAffiliateAccountsEntity } from 'src/entities/B2bAffiliateAccounts.entity';
import { CountryEntity } from 'src/entities/Country.entity';
import { CollegeCampusEntity } from 'src/entities/CollegeCampus.entity';
import { StudyLevelMasterEntity } from 'src/entities/StudyLevelMaster.entity';
import { VcmCommissionContractsEntity } from 'src/entities/VcmCommissionContracts.entity';
import { CourseMasterEntity } from 'src/entities/CourseMaster.entity';
import { VcmCommissionContractSetsEntity } from 'src/entities/VcmCommissionContractSets.entity';
import { FileService } from 'src/services/file.service';
import { VcmCommissionContractsHistoryEntity } from 'src/entities/VcmCommissionContractsHistory.entity';
import { VcCrudController } from './controllers/crud.controller';

@Module({
  controllers: [VcCrudController, VcElementsController],
  providers: [VcElementsService, VcCrudService, FileService],
  imports: [
    CacheModule.register(),
    TypeOrmModule.forFeature([
      MenuActionsEntity,
      VisaServiceMasterEntity,
      CollegeEntity,
      MasteragentEntity,
      B2bAffiliateAccountsEntity,
      CountryEntity,
      CollegeCampusEntity,
      StudyLevelMasterEntity,
      VcmCommissionContractsEntity,
      CourseMasterEntity,
      VcmCommissionContractSetsEntity,
      VcmCommissionContractsHistoryEntity,
      CourseMasterEntity,
      CollegeCampusEntity,
      StudyLevelMasterEntity,
    ]),
  ],
})
export class VisaCommissionModule {}
