UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

46 lines (45 loc) 1.27 kB
import { type IndexSerializedResource, type MatchedQueryHandlers, RequestTypes } from '../../Contracts'; import type { Filter } from '../../Filters'; import type { Ordering } from '../../Orderings'; import AvonRequest from './AvonRequest'; export default class ResourceIndexRequest extends AvonRequest { /** * Indicates type of the request instance. */ type(): RequestTypes; /** * Get the paginator instance for the index request. */ searchIndex(): Promise<{ resources: IndexSerializedResource[]; count: number; }>; /** * Get the page number. */ currentPage(): number; /** * Get per page. */ perPage(): number; /** * Get the filters for the request. */ filters(): MatchedQueryHandlers<Filter>; /** * Get all of the possibly available filters for the request. */ protected availableFilters(): Filter[]; /** * Check if filter found in request. */ protected hasFilter(key: string): boolean; /** * Get the orderings for the request. */ orderings(): MatchedQueryHandlers<Ordering>; /** * Get all of the possibly available orderings for the request. */ protected availableOrderings(): Ordering[]; }