File

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

Index

Properties

Properties

Optional clientId
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional dateFrom
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
Optional dateTo
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
Optional limit
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
Optional page
Type : number
Decorators :
@ApiPropertyOptional()
@IsOptional()
Optional priority
Type : OrderPriority
Decorators :
@ApiPropertyOptional({enum: OrderPriority})
@IsOptional()
@IsEnum(OrderPriority)
Optional search
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
@IsString()
Optional sortBy
Type : string
Decorators :
@ApiPropertyOptional()
@IsOptional()
Optional sortOrder
Type : "asc" | "desc"
Decorators :
@ApiPropertyOptional()
@IsOptional()
Optional source
Type : OrderSource
Decorators :
@ApiPropertyOptional({enum: OrderSource, description: 'Filter by how the order entered the system'})
@IsOptional()
@IsEnum(OrderSource)
Optional status
Type : OrderStatus
Decorators :
@ApiPropertyOptional({enum: OrderStatus})
@IsOptional()
@IsEnum(OrderStatus)
import { IsOptional, IsEnum, IsString, IsDateString } from 'class-validator';
import { ApiPropertyOptional } from '@nestjs/swagger';
import { OrderStatus, OrderPriority, OrderSource } from '@prisma/client';

export class OrderFilterDto {
  @ApiPropertyOptional({ enum: OrderStatus })
  @IsOptional()
  @IsEnum(OrderStatus)
  status?: OrderStatus;

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

  @ApiPropertyOptional({
    enum: OrderSource,
    description: 'Filter by how the order entered the system',
  })
  @IsOptional()
  @IsEnum(OrderSource)
  source?: OrderSource;

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

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

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

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

  @ApiPropertyOptional()
  @IsOptional()
  page?: number;

  @ApiPropertyOptional()
  @IsOptional()
  limit?: number;

  @ApiPropertyOptional()
  @IsOptional()
  sortBy?: string;

  @ApiPropertyOptional()
  @IsOptional()
  sortOrder?: 'asc' | 'desc';
}

results matching ""

    No results matching ""