UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

39 lines (38 loc) 1.37 kB
import type { OpenAPIV3 } from 'openapi-types'; import type { AnyValue, HasSchema, Model, OpenApiSchema, ParameterSerializable, SeeCallback } from '../Contracts'; import type AvonRequest from '../Http/Requests/AvonRequest'; import QueryParameter from '../Http/Requests/QueryParameter'; import type { Repository } from '../Repositories'; declare const Filter_base: (abstract new (...args: import("../Contracts").Args) => { seeCallback: SeeCallback; authorizedToSee(request: AvonRequest): boolean; canSee(callback: SeeCallback): any; }) & typeof QueryParameter; export default abstract class Filter extends Filter_base implements ParameterSerializable, HasSchema { /** * The help text for the filter. */ helpText?: string; /** * Get the query parameter key for filter. */ key(): string; /** * Specify the filter help text. */ help(helpText: string): this; /** * Apply the filter into the given repository. */ abstract apply(request: AvonRequest, repository: Repository<Model>, value: AnyValue): void; /** * Serialize parameters for schema. */ serializeParameters(request: AvonRequest): OpenAPIV3.ParameterObject[]; /** * Get the swagger-ui schema. */ schema(request: AvonRequest): OpenApiSchema; canSee(callback: SeeCallback): this; } export {};