mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-07 13:05:44 +00:00
- Backend: GET eligible-bookings?direction, POST receive-bulk, POST load-passed-export (reuse autoUnload/autoLoad patterns; no train-schedule/wagon logic changed) - Frontend: ReceiveInventoryModal split into Import/Export tabs with eligible PAID bookings table, select-all/bulk receive, and Load Passed Export Items button - Single-booking receive and all existing inventory row actions preserved Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
33 lines
825 B
TypeScript
33 lines
825 B
TypeScript
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
import { ArrayNotEmpty, IsArray, IsIn, IsOptional, IsString, IsUUID } from 'class-validator';
|
|
|
|
/** Bulk-receive eligible PAID bookings into a warehouse location, by trade direction. */
|
|
export class BulkReceiveDto {
|
|
@ApiProperty({ enum: ['IMPORT', 'EXPORT'] })
|
|
@IsIn(['IMPORT', 'EXPORT'])
|
|
direction!: 'IMPORT' | 'EXPORT';
|
|
|
|
@ApiProperty({ format: 'uuid' })
|
|
@IsUUID()
|
|
warehouseId!: string;
|
|
|
|
@ApiProperty({ format: 'uuid' })
|
|
@IsUUID()
|
|
yardId!: string;
|
|
|
|
@ApiProperty({ format: 'uuid' })
|
|
@IsUUID()
|
|
zoneId!: string;
|
|
|
|
@ApiProperty({ type: [String], format: 'uuid' })
|
|
@IsArray()
|
|
@ArrayNotEmpty()
|
|
@IsUUID('all', { each: true })
|
|
bookingIds!: string[];
|
|
|
|
@ApiPropertyOptional()
|
|
@IsOptional()
|
|
@IsString()
|
|
performedBy?: string;
|
|
}
|