import { IsUUID, IsString, IsDateString, IsNumber, IsOptional, IsEnum } from 'class-validator'; import { MaintenanceType, MaintenanceStatus } from '../entities/maintenance-schedule.entity'; export class CreateMaintenanceScheduleDto { @IsUUID() vehicleId!: string; @IsEnum(MaintenanceType) maintenanceType!: MaintenanceType; @IsString() description!: string; @IsDateString() scheduledDate!: string; @IsOptional() @IsNumber() estimatedCost?: number; @IsOptional() @IsString() serviceProvider?: string; @IsOptional() @IsString() notes?: string; @IsOptional() @IsNumber() nextDueKm?: number; @IsOptional() @IsDateString() nextDueDate?: string; } export class CreateMaintenanceCostDto { @IsUUID() vehicleId!: string; @IsOptional() @IsUUID() maintenanceScheduleId?: string; @IsDateString() incurredDate!: string; @IsNumber() costAmount!: number; @IsString() costType!: string; @IsString() description!: string; @IsOptional() @IsString() serviceProvider?: string; @IsOptional() @IsString() invoiceNumber?: string; @IsOptional() @IsString() notes?: string; } export class UpdateMaintenanceScheduleDto { @IsOptional() @IsEnum(MaintenanceStatus) status?: MaintenanceStatus; @IsOptional() @IsDateString() completedDate?: string; @IsOptional() @IsNumber() actualCost?: number; @IsOptional() @IsString() notes?: string; }