File

src/orders/dto/create-order.dto.ts

Index

Properties

Properties

clientId
Type : string
Decorators :
@ApiProperty()
@IsString()
@IsNotEmpty()
Optional commodity
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional deliveryDate
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
Optional deliveryNumber
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional destAddress
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional destCity
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional destLat
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsNumber()
Optional destLng
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsNumber()
Optional destName
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional destState
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional destZip
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional distributorName
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional laneId
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional lpoNumber
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional originAddress
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional originCity
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional originLat
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsNumber()
Optional originLng
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsNumber()
Optional originName
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional originState
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional originZip
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional pallets
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsInt()
Optional pickupDate
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
Optional pieces
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsInt()
Optional plantName
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional priority
Type : OrderPriority
Decorators :
@ApiPropertyOptional({enum: OrderPriority})
@IsOptional()
@IsEnum(OrderPriority)
Optional quoteAmount
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsNumber()
Optional referenceNumber
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional specialInstructions
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional vehicleType
Type : VehicleType
Decorators :
@ApiPropertyOptional({enum: VehicleType})
@IsOptional()
@IsEnum(VehicleType)
Optional volume
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsNumber()
Optional weight
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsNumber()
Optional zoneId
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
import {
  IsNotEmpty,
  IsString,
  IsOptional,
  IsEnum,
  IsNumber,
  IsDateString,
  IsInt,
} from 'class-validator';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { OrderPriority, VehicleType } from '@prisma/client';

export class CreateOrderDto {
  @ApiProperty()
  @IsString()
  @IsNotEmpty()
  clientId: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  referenceNumber?: string;

  @ApiPropertyOptional({ enum: OrderPriority })
  @IsOptional()
  @IsEnum(OrderPriority)
  priority?: OrderPriority;

  @ApiPropertyOptional({ enum: VehicleType })
  @IsOptional()
  @IsEnum(VehicleType)
  vehicleType?: VehicleType;

  // Origin
  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  originName?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  originAddress?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  originCity?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  originState?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  originZip?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsNumber()
  originLat?: number;

  @ApiPropertyOptional()
  @IsOptional()
  @IsNumber()
  originLng?: number;

  // Destination
  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  destName?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  destAddress?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  destCity?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  destState?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  destZip?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsNumber()
  destLat?: number;

  @ApiPropertyOptional()
  @IsOptional()
  @IsNumber()
  destLng?: number;

  // Scheduling
  @ApiPropertyOptional()
  @IsOptional()
  @IsDateString()
  pickupDate?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsDateString()
  deliveryDate?: string;

  // Cargo
  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  commodity?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsNumber()
  weight?: number;

  @ApiPropertyOptional()
  @IsOptional()
  @IsNumber()
  volume?: number;

  @ApiPropertyOptional()
  @IsOptional()
  @IsInt()
  pieces?: number;

  @ApiPropertyOptional()
  @IsOptional()
  @IsInt()
  pallets?: number;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  specialInstructions?: string;

  // Pricing
  @ApiPropertyOptional()
  @IsOptional()
  @IsNumber()
  quoteAmount?: number;

  // Client-specific fields
  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  lpoNumber?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  deliveryNumber?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  plantName?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  distributorName?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  zoneId?: string;

  @ApiPropertyOptional()
  @IsOptional()
  @IsString()
  laneId?: string;
}

results matching ""

    No results matching ""