import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { App } from '../../entities/app.entity';
import { Build } from '../../entities/build.entity';
import { User } from '../../entities/user.entity';
import { ApiKey } from '../../entities/api-key.entity';
import { PlatformSettings } from '../../entities/platform-settings.entity';
import { AuthModule } from '../auth/auth.module';
import { DriveModule } from '../drive/drive.module';
import { NotificationsModule } from '../notifications/notifications.module';
import { ApiKeyAuthGuard } from '../auth/guards/api-key-auth.guard';
import { BuildService } from './build.service';
import { BuildsController } from './builds.controller';
import { MetadataExtractionService } from './services/metadata-extraction.service';

@Module({
  imports: [
    TypeOrmModule.forFeature([App, Build, User, ApiKey, PlatformSettings]),
    AuthModule,
    DriveModule,
    NotificationsModule,
  ],
  providers: [BuildService, MetadataExtractionService, ApiKeyAuthGuard],
  controllers: [BuildsController],
  exports: [BuildService],
})
export class BuildsModule {}
