trains, wagons,containers and cargoes schema and API

This commit is contained in:
hagiye
2026-06-04 15:56:29 +03:00
parent 18015ceaff
commit 71ac89edc7
66 changed files with 2077 additions and 90 deletions

View File

@@ -0,0 +1,11 @@
import { IsUUID, IsOptional, IsInt, Min } from 'class-validator';
export class AssignWagonToTrainDto {
@IsUUID()
trainId!: string;
@IsOptional()
@IsInt()
@Min(1)
sequenceNumber?: number;
}

View File

@@ -0,0 +1,34 @@
import { IsString, IsUUID, IsOptional, IsInt, Min, IsNumber, IsIn } from 'class-validator';
export class CreateWagonDto {
@IsString()
wagonNumber!: string;
@IsUUID()
wagonTypeId!: string;
@IsOptional()
@IsUUID()
trainId?: string;
@IsOptional()
@IsInt()
@Min(1)
sequenceNumber?: number;
@IsNumber()
@Min(0)
tareWeight!: number;
@IsNumber()
@Min(0)
maxPayloadWeight!: number;
@IsOptional()
@IsIn(['AVAILABLE', 'ASSIGNED', 'MAINTENANCE', 'RETIRED'])
status?: string;
@IsOptional()
@IsString()
notes?: string;
}

View File

@@ -0,0 +1,7 @@
import { IsArray, IsUUID } from 'class-validator';
export class ReorderWagonsDto {
@IsArray()
@IsUUID(4, { each: true })
wagonIds!: string[];
}

View File

@@ -0,0 +1,4 @@
import { PartialType } from '@nestjs/swagger';
import { CreateWagonDto } from './create-wagon.dto';
export class UpdateWagonDto extends PartialType(CreateWagonDto) {}