File

src/loading-bays/dto/record-bay-event.dto.ts

Index

Properties

Properties

Optional actualAt
Type : string
Decorators :
@ApiPropertyOptional({description: 'Actual time (defaults to now)'})
@IsOptional()
@IsDateString()
eventType
Type : string
Decorators :
@ApiProperty({description: 'Event type', enum: undefined})
@IsString()
loadingBayId
Type : string
Decorators :
@ApiProperty({description: 'Loading bay ID'})
@IsString()
Optional notes
Type : string
Decorators :
@ApiPropertyOptional({description: 'Notes'})
@IsOptional()
@IsString()
Optional scheduledAt
Type : string
Decorators :
@ApiPropertyOptional({description: 'Scheduled time'})
@IsOptional()
@IsDateString()
Optional tripId
Type : string
Decorators :
@ApiPropertyOptional({description: 'Trip ID'})
@IsOptional()
@IsString()
Optional vehicleId
Type : string
Decorators :
@ApiPropertyOptional({description: 'Vehicle ID'})
@IsOptional()
@IsString()
import { IsString, IsOptional, IsDateString } from 'class-validator';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';

export class RecordBayEventDto {
  @ApiProperty({ description: 'Loading bay ID' })
  @IsString()
  loadingBayId: string;

  @ApiPropertyOptional({ description: 'Vehicle ID' })
  @IsOptional()
  @IsString()
  vehicleId?: string;

  @ApiPropertyOptional({ description: 'Trip ID' })
  @IsOptional()
  @IsString()
  tripId?: string;

  @ApiProperty({
    description: 'Event type',
    enum: ['ARRIVAL', 'DEPARTURE', 'LOADING_START', 'LOADING_COMPLETE'],
  })
  @IsString()
  eventType: string;

  @ApiPropertyOptional({ description: 'Scheduled time' })
  @IsOptional()
  @IsDateString()
  scheduledAt?: string;

  @ApiPropertyOptional({ description: 'Actual time (defaults to now)' })
  @IsOptional()
  @IsDateString()
  actualAt?: string;

  @ApiPropertyOptional({ description: 'Notes' })
  @IsOptional()
  @IsString()
  notes?: string;
}

results matching ""

    No results matching ""