import { ApiProperty } from '@nestjs/swagger';
import { IsNumber, IsOptional, IsString } from 'class-validator';

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

  @ApiProperty()
  @IsString()
  name!: string;

  @ApiProperty()
  @IsString()
  country!: string;

  @ApiProperty({ nullable: true })
  @IsString()
  avatarUrl!: string | null;

  @ApiProperty({ nullable: true })
  @IsOptional()
  @IsString()
  category?: string | null;

  @ApiProperty({ nullable: true })
  @IsOptional()
  @IsNumber()
  rating?: number | null;

  @ApiProperty({ nullable: true })
  @IsOptional()
  @IsNumber()
  globalRank?: number | null;

  @ApiProperty()
  @IsNumber()
  totalRaces!: number;

  @ApiProperty()
  @IsNumber()
  wins!: number;

  @ApiProperty()
  @IsNumber()
  podiums!: number;

  @ApiProperty({ nullable: true })
  @IsOptional()
  @IsNumber()
  consistency?: number | null;
}