Files
edr-platform/apps/edr-freight-api/src/modules/trains/dto/create-train.dto.ts

55 lines
919 B
TypeScript

import { IsString, IsNumber, IsOptional, IsUUID, IsDateString, Min, IsEnum } from 'class-validator';
import { Freight } from '@edr/types';
export class CreateTrainDto {
@IsString()
code!: string;
@IsNumber()
@Min(0)
capacityTons!: number;
@IsOptional()
@IsEnum(Freight.TrainStatus)
status?: Freight.TrainStatus; // ✅ uses enum, not string
@IsOptional()
@IsString()
notes?: string;
@IsOptional()
@IsString()
trainNumber?: string;
@IsOptional()
@IsString()
trainName?: string;
@IsOptional()
@IsUUID()
routeId?: string;
@IsOptional()
@IsUUID()
originStationId?: string;
@IsOptional()
@IsUUID()
destinationStationId?: string;
@IsOptional()
@IsDateString()
departureTime?: string;
@IsOptional()
@IsDateString()
arrivalTime?: string;
@IsOptional()
@IsString()
locomotiveNumber?: string;
@IsOptional()
@IsString()
remarks?: string;
}