File

src/user/dto/filter-user.dto.ts

Index

Properties

Properties

Optional _id
Type : literal type
Decorators :
@ApiProperty()
@IsOptional()
@IsArray()
@ArrayNotEmpty()
Optional email
Type : string
Decorators :
@ApiProperty()
@IsEmail()
@IsOptional()
Optional instrumentId
Type : string
Decorators :
@ApiProperty()
@IsString()
@IsOptional()
Optional limit
Type : number
Decorators :
@ApiProperty()
@IsNumber()
@IsOptional()
@Type(undefined)
Optional onboardByEmail
Type : string
Decorators :
@ApiProperty()
@IsEmail()
@IsOptional()
Optional orderDirection
Type : OrderDirection
Decorators :
@ApiProperty({enumName: 'orderDirection', enum: undefined})
@IsOptional()
@IsEnum(OrderDirection)
Optional selectors
Type : string[]
Decorators :
@ApiProperty()
@IsOptional()
@IsArray()
@ArrayNotEmpty()
Optional skip
Type : number
Decorators :
@ApiProperty()
@Type(undefined)
@IsOptional()
@IsNumber()
import { PartialType } from "@nestjs/mapped-types";
import {
  ArrayNotEmpty,
  IsArray,
  IsEmail,
  IsEnum,
  IsNumber,
  IsOptional,
  IsString,
} from "class-validator";

import { CreateUserDto } from "./create-user.dto";
import { ApiProperty } from "@nestjs/swagger";
import { Type } from "class-transformer";
import { OrderDirection } from "src/common/interfaces";

export class FilterUserDto extends PartialType(CreateUserDto) {
  @ApiProperty()
  @IsEmail()
  @IsOptional()
  email?: string;

  @ApiProperty()
  @IsEmail()
  @IsOptional()
  onboardByEmail?: string;

  @ApiProperty()
  @IsOptional()
  @IsArray()
  @ArrayNotEmpty()
  selectors?: string[];

  @ApiProperty()
  @IsString()
  @IsOptional()
  instrumentId?: string;

  @ApiProperty()
  @IsOptional()
  @IsArray()
  @ArrayNotEmpty()
  _id?: { $in: string[] };

  @ApiProperty({
    enumName: "orderDirection",
    enum: ["asc", "desc"],
  })
  @IsOptional()
  @IsEnum(OrderDirection)
  orderDirection?: OrderDirection;

  @ApiProperty()
  @IsNumber()
  @IsOptional()
  @Type(() => Number)
  limit?: number;

  @ApiProperty()
  @Type(() => Number)
  @IsOptional()
  @IsNumber()
  skip?: number;
}

results matching ""

    No results matching ""