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 : PullRequestOrderFieldsEnum
|
Default value : PullRequestOrderFieldsEnum.updated_at
|
Decorators :
@ApiPropertyOptional({enum: PullRequestOrderFieldsEnum, enumName: 'PullRequestOrderFieldsEnum', default: undefined}) @IsEnum(PullRequestOrderFieldsEnum) @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 : PullRequestStatusEnum
|
Decorators :
@ApiPropertyOptional({enum: PullRequestStatusEnum, enumName: 'PullRequestStatusEnum'}) @IsEnum(PullRequestStatusEnum) @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 PullRequestOrderFieldsEnum {
created_at = "created_at",
closed_at = "closed_at",
merged_at = "merged_at",
updated_at = "updated_at",
}
export enum PullRequestStatusEnum {
open = "open",
closed = "closed",
}
export class PullRequestPageOptionsDto extends PageOptionsDto {
@ApiPropertyOptional({
enum: PullRequestOrderFieldsEnum,
enumName: "PullRequestOrderFieldsEnum",
default: PullRequestOrderFieldsEnum.updated_at,
})
@IsEnum(PullRequestOrderFieldsEnum)
@IsOptional()
readonly orderBy?: PullRequestOrderFieldsEnum = PullRequestOrderFieldsEnum.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: PullRequestStatusEnum,
enumName: "PullRequestStatusEnum",
})
@IsEnum(PullRequestStatusEnum)
@IsOptional()
readonly status?: PullRequestStatusEnum;
@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";
}