src/timescale/dtos/most-active-contrib.dto.ts
Properties |
|
Optional contributorType |
Type : ContributorStatsTypeEnum
|
Default value : ContributorStatsTypeEnum.all
|
Decorators :
@ApiPropertyOptional({enum: ContributorStatsTypeEnum, enumName: 'ContributorStatsTypeEnum', default: undefined})
|
Readonly Optional orderBy |
Type : ContributorStatsOrderEnum
|
Default value : ContributorStatsOrderEnum.commits
|
Decorators :
@ApiPropertyOptional({enum: ContributorStatsOrderEnum, enumName: 'ContributorStatsOrderEnum', default: undefined})
|
Readonly Optional repos |
Type : string
|
Decorators :
@ApiPropertyOptional({description: 'Repo, comma delimited names', type: 'string', example: 'open-sauced/app'})
|
Readonly Optional limit |
Type : number
|
Default value : 50
|
Decorators :
@ApiPropertyOptional({minimum: 1, maximum: 1000, default: 10, type: 'integer'})
|
Inherited from
PageOptionsDto
|
Defined in
PageOptionsDto:30
|
Readonly Optional orderDirection |
Type : OrderDirectionEnum
|
Default value : OrderDirectionEnum.DESC
|
Decorators :
@ApiPropertyOptional({enum: OrderDirectionEnum, enumName: 'OrderDirectionEnum', default: undefined})
|
Inherited from
PageOptionsDto
|
Defined in
PageOptionsDto:35
|
Readonly Optional page |
Type : number
|
Default value : 1
|
Decorators :
@ApiPropertyOptional({minimum: 1, default: 1, type: 'integer'})
|
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'})
|
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'})
|
Inherited from
PageOptionsDto
|
Defined in
PageOptionsDto:46
|
import { IsEnum, IsOptional, IsString } from "class-validator";
import { ApiPropertyOptional } from "@nestjs/swagger";
import { Type } from "class-transformer";
import { PageOptionsDto } from "../../common/dtos/page-options.dto";
export enum ContributorStatsOrderEnum {
commits = "commits",
prs_created = "prs_created",
total_contributions = "total_contributions",
}
export enum ContributorStatsTypeEnum {
all = "all",
active = "active",
new = "new",
alumni = "alumni",
}
export class MostActiveContributorsDto extends PageOptionsDto {
@ApiPropertyOptional({
enum: ContributorStatsTypeEnum,
enumName: "ContributorStatsTypeEnum",
default: ContributorStatsTypeEnum.all,
})
@IsEnum(ContributorStatsTypeEnum)
@IsOptional()
contributorType?: ContributorStatsTypeEnum = ContributorStatsTypeEnum.all;
@ApiPropertyOptional({
enum: ContributorStatsOrderEnum,
enumName: "ContributorStatsOrderEnum",
default: ContributorStatsOrderEnum.commits,
})
@IsEnum(ContributorStatsOrderEnum)
@IsOptional()
readonly orderBy?: ContributorStatsOrderEnum = ContributorStatsOrderEnum.commits;
@ApiPropertyOptional({
description: "Repo, comma delimited names",
type: "string",
example: "open-sauced/app",
})
@Type(() => String)
@IsString()
@IsOptional()
readonly repos?: string;
}