@avonjs/avonjs
Version:
A fluent Node.js API generator.
31 lines (30 loc) • 1.26 kB
TypeScript
import type { OpenAPIV3 } from 'openapi-types';
import { type AnyValue, Direction, type HasSchema, type Model, type OpenApiSchema, type ParameterSerializable, type SeeCallback } from '../Contracts';
import type AvonRequest from '../Http/Requests/AvonRequest';
import QueryParameter from '../Http/Requests/QueryParameter';
import type { Repository } from '../Repositories';
declare const Ordering_base: (abstract new (...args: import("../Contracts").Args) => {
seeCallback: SeeCallback;
authorizedToSee(request: AvonRequest): boolean;
canSee(callback: SeeCallback): any;
}) & typeof QueryParameter;
export default abstract class Ordering extends Ordering_base implements ParameterSerializable, HasSchema {
/**
* Get the query parameter key for filter.
*/
key(): string;
/**
* Apply the filter into the given repository.
*/
abstract apply(request: AvonRequest, repository: Repository<Model>, direction: Direction): AnyValue;
/**
* Serialize parameters for schema.
*/
serializeParameters(request: AvonRequest): OpenAPIV3.ParameterObject[];
/**
* Get the swagger-ui schema.
*/
schema(request: AvonRequest): OpenApiSchema;
canSee(callback: SeeCallback): this;
}
export {};