File
|
clientId
|
Type : string
|
Decorators :
@ApiProperty({description: 'Client ID to generate the portal link for'}) @IsUUID()
|
|
|
|
Optional
expiresAt
|
Type : string
|
Decorators :
@ApiPropertyOptional({description: 'Optional ISO date when the token expires'}) @IsOptional() @IsDateString()
|
|
|
|
Optional
label
|
Type : string
|
Decorators :
@ApiPropertyOptional({description: 'Friendly label (e.g. "Main contact", "Ops team")'}) @IsOptional() @IsString()
|
|
|
|
Optional
maxUses
|
Type : number
|
Decorators :
@ApiPropertyOptional({description: 'Maximum number of submissions allowed'}) @IsOptional() @IsInt() @Min(1)
|
|
|
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;
}