import { Module } from '@nestjs/common';
import { StreaksService } from './streaks.service';
import { StreaksController } from './streaks.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ApiLog } from 'src/api-logs/entities/api-log.entity';
import { AchievementRepository } from 'src/achievements/achievements.repository';
import { UserRepository } from 'src/user/user.repository';
import { AppUserRepository } from 'src/app_users/app_users.repository';
import { GroupsRepository } from 'src/groups/groups.repository';
import { UserEntity } from 'src/user/entities/user.entity';
import { AppUser } from 'src/app_users/entities/app_user.entity';
import { Group } from 'src/groups/entities/group.entity';
import { AppUsersStep } from 'src/app_users_steps/entities/app_users_step.entity';
import { AppUserStepsRepository } from 'src/app_users_steps/app_users_steps.repository';
import { StreakRepository } from './streaks.repository';
import { Streak } from './entities/streak.entity';
import { UserStreak } from './entities/user-streak.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      Streak,
      UserStreak,
      ApiLog,
      UserEntity,
      Group,
      AppUser,
      AppUsersStep,
    ]),
  ],
  controllers: [StreaksController],
  providers: [
    StreaksService,
    StreakRepository,
    UserRepository,
    AppUserRepository,
    GroupsRepository,
    AppUserStepsRepository,
  ],
})
export class StreaksModule {}
