File
|
Optional
commodity
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsString()
|
|
|
|
Optional
deliveryDate
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsDateString()
|
|
|
|
destAddress
|
Type : string
|
Decorators :
@ApiProperty() @IsString()
|
|
|
|
Optional
destName
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsString()
|
|
|
|
originAddress
|
Type : string
|
Decorators :
@ApiProperty() @IsString()
|
|
|
|
Optional
originName
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsString()
|
|
|
|
Optional
pallets
|
Type : number
|
Decorators :
@ApiPropertyOptional() @IsOptional()
|
|
|
|
Optional
pickupDate
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsDateString()
|
|
|
|
Optional
pieces
|
Type : number
|
Decorators :
@ApiPropertyOptional() @IsOptional()
|
|
|
|
Optional
priority
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsString()
|
|
|
|
Optional
referenceNumber
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsString()
|
|
|
|
Optional
specialInstructions
|
Type : string
|
Decorators :
@ApiPropertyOptional() @IsOptional() @IsString()
|
|
|
|
Optional
website
|
Type : string
|
Decorators :
@ApiPropertyOptional({description: 'Honeypot — bots fill this, humans leave it empty'}) @IsOptional() @IsString()
|
|
|
|
Optional
weight
|
Type : number
|
Decorators :
@ApiPropertyOptional() @IsOptional()
|
|
|
import { IsUUID, IsOptional, IsString, IsInt, Min, IsDateString } from 'class-validator';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
export class CreatePortalTokenDto {
@ApiProperty({ description: 'Client ID to generate the portal link for' })
@IsUUID()
clientId: string;
@ApiPropertyOptional({ description: 'Friendly label (e.g. "Main contact", "Ops team")' })
@IsOptional()
@IsString()
label?: string;
@ApiPropertyOptional({ description: 'Optional ISO date when the token expires' })
@IsOptional()
@IsDateString()
expiresAt?: string;
@ApiPropertyOptional({ description: 'Maximum number of submissions allowed' })
@IsOptional()
@IsInt()
@Min(1)
maxUses?: number;
}
export class SubmitPortalOrderDto {
@ApiProperty()
@IsString()
originAddress: string;
@ApiProperty()
@IsString()
destAddress: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
originName?: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
destName?: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
commodity?: string;
@ApiPropertyOptional()
@IsOptional()
weight?: number;
@ApiPropertyOptional()
@IsOptional()
pieces?: number;
@ApiPropertyOptional()
@IsOptional()
pallets?: number;
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
pickupDate?: string;
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
deliveryDate?: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
priority?: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
specialInstructions?: string;
@ApiPropertyOptional()
@IsOptional()
@IsString()
referenceNumber?: string;
@ApiPropertyOptional({ description: 'Honeypot — bots fill this, humans leave it empty' })
@IsOptional()
@IsString()
website?: string;
}