File

src/pull-requests/dtos/issue-page-options.dto.ts

Extends

PageOptionsDto

Index

Properties

Properties

Readonly Optional contributor
Type : string
Decorators :
@ApiPropertyOptional({type: 'string', example: 'bdougie'})
@IsString()
@IsOptional()
Readonly Optional distinctAuthors
Type : string
Default value : "false"
Decorators :
@ApiPropertyOptional({example: 'true'})
@IsBooleanString()
@IsOptional()
Readonly Optional filter
Type : InsightFilterFieldsEnum
Decorators :
@ApiPropertyOptional({enum: InsightFilterFieldsEnum, enumName: 'InsightFilterFieldsEnum'})
@IsEnum(InsightFilterFieldsEnum)
@IsOptional()
Readonly Optional listId
Type : string
Decorators :
@ApiPropertyOptional({type: 'string', example: 'uuid-v4'})
@IsString()
@IsOptional()
Readonly Optional orderBy
Type : IssueOrderFieldsEnum
Default value : IssueOrderFieldsEnum.updated_at
Decorators :
@ApiPropertyOptional({enum: IssueOrderFieldsEnum, enumName: 'IssueOrderFieldsEnum', default: undefined})
@IsEnum(IssueOrderFieldsEnum)
@IsOptional()
Readonly Optional repo
Type : string
Decorators :
@ApiPropertyOptional({type: 'string', example: 'open-sauced/insights'})
@IsString()
@IsOptional()
Readonly Optional repoIds
Type : string
Decorators :
@ApiPropertyOptional()
@IsString()
@IsOptional()
Readonly Optional status
Type : IssueStatusEnum
Decorators :
@ApiPropertyOptional({enum: IssueStatusEnum, enumName: 'IssueStatusEnum'})
@IsEnum(IssueStatusEnum)
@IsOptional()
Readonly Optional topic
Type : string
Decorators :
@ApiPropertyOptional({type: 'string', example: 'javascript'})
@IsString()
@IsOptional()
Readonly Optional limit
Type : number
Default value : 50
Decorators :
@ApiPropertyOptional({minimum: 1, maximum: 1000, default: 10, type: 'integer'})
@Type(undefined)
@IsInt()
@Min(1)
@Max(10000)
@IsOptional()
Inherited from PageOptionsDto
Defined in PageOptionsDto:30
Readonly Optional orderDirection
Type : OrderDirectionEnum
Default value : OrderDirectionEnum.DESC
Decorators :
@ApiPropertyOptional({enum: OrderDirectionEnum, enumName: 'OrderDirectionEnum', default: undefined})
@IsEnum(OrderDirectionEnum)
@IsOptional()
Inherited from PageOptionsDto
Defined in PageOptionsDto:35
Readonly Optional page
Type : number
Default value : 1
Decorators :
@ApiPropertyOptional({minimum: 1, default: 1, type: 'integer'})
@Type(undefined)
@IsInt()
@Min(1)
@IsOptional()
Inherited from PageOptionsDto
Defined in PageOptionsDto:17
Readonly Optional prev_days_start_date
Type : number
Default value : 0
Decorators :
@ApiPropertyOptional({description: 'Number of days in the past to start range block', default: 0, type: 'integer'})
@Type(undefined)
@IsIn(['0', '7', '30', '90', '180'])
@IsInt()
@IsOptional()
Inherited from PageOptionsDto
Defined in PageOptionsDto:57
Readonly Optional range
Type : number
Default value : 30
Decorators :
@ApiPropertyOptional({description: 'Range in days', default: 30, type: 'integer'})
@Type(undefined)
@IsIn(['7', '30', '90', '180', '360'])
@IsInt()
@IsOptional()
Inherited from PageOptionsDto
Defined in PageOptionsDto:46
import { ApiPropertyOptional } from "@nestjs/swagger";
import { IsBooleanString, IsEnum, IsOptional, IsString } from "class-validator";

import { PageOptionsDto } from "../../common/dtos/page-options.dto";
import { InsightFilterFieldsEnum } from "../../insight/dtos/insight-options.dto";

export enum IssueOrderFieldsEnum {
  created_at = "created_at",
  closed_at = "closed_at",
  updated_at = "updated_at",
  reactions_heart = "reactions_heart",
}

export enum IssueStatusEnum {
  open = "open",
  closed = "closed",
  reopened = "reopened",
}

export class IssuePageOptionsDto extends PageOptionsDto {
  @ApiPropertyOptional({
    enum: IssueOrderFieldsEnum,
    enumName: "IssueOrderFieldsEnum",
    default: IssueOrderFieldsEnum.updated_at,
  })
  @IsEnum(IssueOrderFieldsEnum)
  @IsOptional()
  readonly orderBy?: IssueOrderFieldsEnum = IssueOrderFieldsEnum.updated_at;

  @ApiPropertyOptional({
    enum: InsightFilterFieldsEnum,
    enumName: "InsightFilterFieldsEnum",
  })
  @IsEnum(InsightFilterFieldsEnum)
  @IsOptional()
  readonly filter?: InsightFilterFieldsEnum;

  @ApiPropertyOptional({
    type: "string",
    example: "javascript",
  })
  @IsString()
  @IsOptional()
  readonly topic?: string;

  @ApiPropertyOptional({
    type: "string",
    example: "open-sauced/insights",
  })
  @IsString()
  @IsOptional()
  readonly repo?: string;

  @ApiPropertyOptional()
  @IsString()
  @IsOptional()
  readonly repoIds?: string;

  @ApiPropertyOptional({
    enum: IssueStatusEnum,
    enumName: "IssueStatusEnum",
  })
  @IsEnum(IssueStatusEnum)
  @IsOptional()
  readonly status?: IssueStatusEnum;

  @ApiPropertyOptional({
    type: "string",
    example: "bdougie",
  })
  @IsString()
  @IsOptional()
  readonly contributor?: string;

  @ApiPropertyOptional({
    type: "string",
    example: "uuid-v4",
  })
  @IsString()
  @IsOptional()
  readonly listId?: string;

  @ApiPropertyOptional({
    example: "true",
  })
  @IsBooleanString()
  @IsOptional()
  readonly distinctAuthors?: string = "false";
}

results matching ""

    No results matching ""