@avonjs/avonjs
Version:
A fluent Node.js API generator.
24 lines (23 loc) • 862 B
TypeScript
import type { OpenAPIV3 } from 'openapi-types';
import { type Model, type OpenApiSchema } from '../Contracts';
import type AvonRequest from '../Http/Requests/AvonRequest';
import type { Repository } from '../Repositories';
import Filter from './Filter';
export default abstract class RangeFilter extends Filter {
/**
* Apply the filter into the given repository.
*/
apply(request: AvonRequest, repository: Repository<Model>, range: Record<string, string>): void;
/**
* Get the attribute that the date filter should perform on it.
*/
abstract filterableAttribute(request: AvonRequest): string;
/**
* Serialize parameters for schema.
*/
serializeParameters(request: AvonRequest): OpenAPIV3.ParameterObject[];
/**
* Get the swagger-ui schema.
*/
schema(request: AvonRequest): OpenApiSchema;
}