import { Module, forwardRef } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthModule } from '../../auth/auth.module';
import { BookingChangeRequestEntity } from '../../entities/booking-change-request.entity';
import { BookingEntity } from '../../entities/booking.entity';
import { UserEntity } from '../../entities/user.entity';
import { ChangeRequestService } from './change-request.service';
import { ChangeRequestController } from './change-request.controller';
import { BookingModule } from '../booking/booking.module';
import { NotificationModule } from '../notification/notification.module';
import { AuditModule } from '../audit/audit.module';

@Module({
  imports: [
    TypeOrmModule.forFeature([BookingChangeRequestEntity, BookingEntity, UserEntity]),
    AuthModule,
    forwardRef(() => BookingModule),
    NotificationModule,
    AuditModule,
  ],
  controllers: [ChangeRequestController],
  providers: [ChangeRequestService],
  exports: [ChangeRequestService],
})
export class ChangeRequestModule {}
