File

src/repo/dtos/repo-page-options.dto.ts

Extends

PageOptionsDto

Index

Properties

Properties

Readonly Optional orderBy
Type : RepoOrderFieldsEnum
Default value : RepoOrderFieldsEnum.stars
Decorators :
@ApiPropertyOptional({enum: RepoOrderFieldsEnum, enumName: 'RepoOrderFieldsEnum', default: undefined})
@IsEnum(RepoOrderFieldsEnum)
@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 { IsEnum, IsOptional } from "class-validator";

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

export enum RepoFilterFieldsEnum {
  Recent = "recent",
  Top100 = "top-100-repos",
  Top = "top-repos",
  MinimumContributors = "minimum-5-contributors",
  MostActive = "most-active",
  MostSpammed = "most-spammed",
}

export enum RepoOrderFieldsEnum {
  issues = "issues",
  stars = "stars",
  watchers = "watchers",
  subscribers = "subscribers",
  created_at = "created_at",
  updated_at = "updated_at",
  pushed_at = "pushed_at",
  name = "name",
  contributionsCount = "contributionsCount",
  votesCount = "votesCount",
  submissionsCount = "submissionsCount",
  stargazersCount = "stargazersCount",
  starsCount = "starsCount",
}

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

results matching ""

    No results matching ""