UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

31 lines (30 loc) 1.26 kB
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 {};