mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-02 02:23:25 +00:00
55 lines
919 B
TypeScript
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;
|
|
} |