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,45 @@
import { IsString, IsUUID, IsOptional, IsNumber, Min, IsIn, IsDateString } from 'class-validator';
export class CreateCargoDto {
@IsString()
cargoReference!: string;
@IsUUID()
shipmentId!: string;
@IsUUID()
containerId!: string;
@IsOptional()
@IsUUID()
cargoTypeId?: string;
@IsOptional()
@IsString()
description?: string;
@IsNumber()
@Min(0.001)
quantity!: number;
@IsNumber()
@Min(0)
weight!: number;
@IsOptional()
@IsNumber()
@Min(0)
volume?: number;
@IsOptional()
@IsIn(['PENDING', 'LOADED', 'IN_TRANSIT', 'DELIVERED', 'UNLOADED'])
status?: string;
@IsOptional()
@IsDateString()
loadedAt?: string;
@IsOptional()
@IsDateString()
unloadedAt?: string;
}

View File

@@ -0,0 +1,7 @@
import { IsOptional, IsString } from 'class-validator';
export class DeliverCargoDto {
@IsOptional()
@IsString()
deliveryRemarks?: string;
}

View File

@@ -0,0 +1,20 @@
import { IsNumber, Min, IsOptional, IsString } from 'class-validator';
export class LoadCargoDto {
@IsNumber()
@Min(0.001)
quantity!: number;
@IsNumber()
@Min(0)
weight!: number;
@IsOptional()
@IsNumber()
@Min(0)
volume?: number;
@IsOptional()
@IsString()
description?: string;
}

View File

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