UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

24 lines (23 loc) 862 B
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; }