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

export class TeamListItemDTO {
  @ApiProperty()
  id!: string;

  @ApiProperty()
  name!: string;

  @ApiProperty()
  tag!: string;

  @ApiProperty()
  description!: string;

  @ApiProperty()
  memberCount!: number;

  @ApiProperty({ type: [String] })
  leagues!: string[];

  @ApiProperty({ required: false, enum: ['endurance', 'sprint', 'mixed'] })
  specialization?: 'endurance' | 'sprint' | 'mixed';

  @ApiProperty({ required: false })
  region?: string;

  @ApiProperty({ type: [String], required: false })
  languages?: string[];

  @ApiProperty({ required: false })
  totalWins?: number;

  @ApiProperty({ required: false })
  totalRaces?: number;

  @ApiProperty({ required: false, enum: ['beginner', 'intermediate', 'advanced', 'pro'] })
  performanceLevel?: 'beginner' | 'intermediate' | 'advanced' | 'pro';

  @ApiProperty({ required: false })
  category?: string | undefined;

  @ApiProperty({ nullable: true })
  logoUrl: string | null = null;

  @ApiProperty({ required: false })
  rating?: number;

  @ApiProperty()
  isRecruiting!: boolean;
}