import { IsLatitude, IsLongitude, IsNumber, IsOptional, IsString } from 'class-validator';

export class UpdateDriverLocationDto {
  @IsLatitude()
  latitude!: number;

  @IsLongitude()
  longitude!: number;

  @IsOptional()
  @IsNumber()
  heading?: number;

  @IsOptional()
  @IsNumber()
  speed?: number;

  @IsOptional()
  @IsNumber()
  accuracy?: number;
}

export class CalculateRouteDto {
  @IsLatitude()
  originLatitude!: number;

  @IsLongitude()
  originLongitude!: number;

  @IsLatitude()
  destinationLatitude!: number;

  @IsLongitude()
  destinationLongitude!: number;
}

export class RecalculateEtaDto {
  @IsString()
  orderId!: string;
}
