@avonjs/avonjs
Version:
A fluent Node.js API generator.
39 lines (38 loc) • 1.37 kB
TypeScript
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 {};