import { ApiProperty } from "@nestjs/swagger"
import { IsDateString, IsEnum, IsOptional, IsString } from "class-validator"
import { PaginationDto } from "src/common/dto/pagination.dto"

export class DriverPerformanceDto extends PaginationDto {
  @ApiProperty({
    required: false,
    description: "Start date for the report (YYYY-MM-DD)",
  })
  @IsOptional()
  @IsDateString()
  start_date?: string

  @ApiProperty({
    required: false,
    description: "End date for the report (YYYY-MM-DD)",
  })
  @IsOptional()
  @IsDateString()
  end_date?: string

  @ApiProperty({
    required: false,
    description: "ID of the driver",
  })
  @IsOptional()
  @IsString()
  driver_id?: string

  @ApiProperty({
    required: false,
    description: "Search term for drivers",
  })
  @IsOptional()
  @IsString()
  search?: string

  @IsString()
  @IsOptional()
  @ApiProperty({ type: String, required: false })
  @IsEnum(["true", "false"])
  is_export?: string
}
