import { Module } from '@nestjs/common';
import { AdminController } from './admin.controller';
import { AdminDashboardService } from './admin-dashboard.service';
import { PermissionsGuard } from '../../domains/identity/guards';
import { UsersModule } from '../../domains/identity/users.module';
import { AgentsModule } from '../../domains/agent/agents.module';
import { WalletModule } from '../../domains/ledger/wallet.module';
import { MatchesModule } from '../../domains/catalog/matches.module';
import { MarketsModule } from '../../domains/odds/markets.module';
import { SettlementModule } from '../../domains/settlement/settlement.module';
import { CashbackModule } from '../../domains/operations/cashback/cashback.module';
import { ContentModule } from '../../domains/operations/content/content.module';
import { I18nModule } from '../../domains/operations/i18n/i18n.module';
import { BetsModule } from '../../domains/betting/bets.module';
import { DatabaseModule } from '../../infrastructure/database/database.module';
import { SmokeTestModule } from '../../domains/operations/smoke-tests/smoke-test.module';
import { DepositModule } from '../../domains/deposit/deposit.module';
import { PlayerMessagesModule } from '../../domains/player-messages/player-messages.module';
import { PresenceModule } from '../../domains/presence/presence.module';

@Module({
  imports: [
    UsersModule,
    AgentsModule,
    WalletModule,
    MatchesModule,
    MarketsModule,
    SettlementModule,
    CashbackModule,
    ContentModule,
    I18nModule,
    BetsModule,
    DatabaseModule,
    SmokeTestModule,
    DepositModule,
    PlayerMessagesModule,
    PresenceModule,
  ],
  controllers: [AdminController],
  providers: [AdminDashboardService, PermissionsGuard],
})
export class AdminModule {}
