import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthModule } from '../../auth/auth.module';
import { ActivityController } from './activity.controller';
import { ActivityService } from './activity.service';
import { ActivityRepository } from './repositories/activity.repository';
import { ActivityTicketRepository } from './repositories/activity-ticket.repository';
import { ActivityMediaRepository } from './repositories/activity-media.repository';
import { ActivityEntity } from '../../entities/activity.entity';
import { ActivityTicketEntity } from '../../entities/activity-ticket.entity';
import { ActivityTicketSlotEntity } from '../../entities/activity-ticket-slot.entity';
import { ActivityMediaEntity } from '../../entities/activity-media.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      ActivityEntity,
      ActivityTicketEntity,
      ActivityTicketSlotEntity,
      ActivityMediaEntity,
    ]),
    AuthModule,
  ],
  controllers: [ActivityController],
  providers: [
    ActivityService,
    ActivityRepository,
    ActivityTicketRepository,
    ActivityMediaRepository,
  ],
  exports: [ActivityService, ActivityRepository, ActivityTicketRepository],
})
export class ActivityModule {}
