import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { LoggingModule } from 'src/database/logging/logging.module';
import { Player } from 'src/players/entities/player.entity';
import { TeamRole } from 'src/team-roles/entities/team-roles.entity';
import { TeamSetting } from 'src/team-settings/entities/team-setting.entity';
import { TeamWalletTransaction } from 'src/team-wallet-transactions/entities/team-wallet-transaction.entity';
import { Transaction } from 'src/transactions/entitites/transaction.entity';
import { Team } from './entities/team.entity';
import { TeamsController } from './teams.controller';
import { TeamsService } from './teams.service';
import { User } from '../users/entities/user.entity';
import { TeamAccessService } from './team-access.service';
import { PublicTeamAccessService } from './public-team-access.service';
import { PublicTeamsController } from './public-teams.controller';
import { PenaltyEntity } from '../penalty/entities/penalty.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      Team,
      Player,
      Transaction,
      TeamRole,
      TeamSetting,
      TeamWalletTransaction,
      User,
      PenaltyEntity,
    ]),
    LoggingModule,
  ],
  controllers: [TeamsController, PublicTeamsController],
  providers: [TeamsService, TeamAccessService, PublicTeamAccessService],
})
export class TeamsModule {}
