import { ApiProperty } from '@nestjs/swagger';

import { TeamLeaderboardItemDTO, type SkillLevel } from './TeamLeaderboardItemDTO';

export class GetTeamsLeaderboardOutputDTO {
  @ApiProperty({ type: [TeamLeaderboardItemDTO] })
  teams!: TeamLeaderboardItemDTO[];

  @ApiProperty()
  recruitingCount!: number;

  @ApiProperty({ type: 'object', additionalProperties: { type: 'array', items: { $ref: '#/components/schemas/TeamLeaderboardItemDTO' } } })
  groupsBySkillLevel!: Record<SkillLevel, TeamLeaderboardItemDTO[]>;

  @ApiProperty({ type: [TeamLeaderboardItemDTO] })
  topTeams!: TeamLeaderboardItemDTO[];
}
