File
Extends
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()
|
|
|
Readonly
Optional
orderDirection
|
Type : OrderDirectionEnum
|
Default value : OrderDirectionEnum.DESC
|
Decorators :
@ApiPropertyOptional({enum: OrderDirectionEnum, enumName: 'OrderDirectionEnum', default: undefined}) @IsEnum(OrderDirectionEnum) @IsOptional()
|
|
|
Readonly
Optional
page
|
Type : number
|
Default value : 1
|
Decorators :
@ApiPropertyOptional({minimum: 1, default: 1, type: 'integer'}) @Type(undefined) @IsInt() @Min(1) @IsOptional()
|
|
|
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()
|
|
|
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()
|
|
|
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";
}