import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';

import { BookingsModule } from '../bookings/bookings.module';
import { TrainSchedulesModule } from '../train-schedules/train-schedules.module';
import { TrainSchedulingModule } from '../train-scheduling/train-scheduling.module';
import { SchedulingEvent } from './entities/scheduling-event.entity';
import {
  SchedulingMaintenanceController,
  SchedulingRescheduleController,
} from './scheduling-reschedule.controller';
import { SchedulingRescheduleRepository } from './scheduling-reschedule.repository';
import { SchedulingRescheduleService } from './scheduling-reschedule.service';

@Module({
  imports: [
    TypeOrmModule.forFeature([SchedulingEvent]),
    BookingsModule,
    TrainSchedulesModule,
    TrainSchedulingModule,
  ],
  controllers: [SchedulingRescheduleController, SchedulingMaintenanceController],
  providers: [SchedulingRescheduleRepository, SchedulingRescheduleService],
  exports: [SchedulingRescheduleService],
})
export class SchedulingRescheduleModule {}
