import { ApiProperty } from "@nestjs/swagger"
import { IsOptional, IsNumber, Min } from "class-validator"
import appConfig from "src/config/app.config"

export enum VehicleOwnership {
  NUSKIN = "nuskin",
  DRIVER = "driver",
  THIRD_PARTY = "third-party",
}

export class FleetTripFilterDto {
  @ApiProperty({
    required: false,
    default: 10,
    description: "Number of records per page",
  })
  @IsOptional()
  @IsNumber()
  limit?: number = Number(appConfig().pagination.take)

  @ApiProperty({
    required: false,
    default: 0,
    description: "Number of records to skip",
  })
  @IsOptional()
  @IsNumber()
  @Min(0)
  skip?: number = Number(appConfig().pagination.skip)

  @ApiProperty({
    required: false,
    description: "Search by car code, registration number, or VIN",
    example: "VEH-001",
  })
  @IsOptional()
  search?: string

  @ApiProperty({
    required: false,
    description: "Filter by vehicle type ID",
    example: 1,
  })
  @IsOptional()
  @IsNumber()
  vehicle_type_id?: number
}
