@avonjs/avonjs
Version:
A fluent Node.js API generator.
46 lines (45 loc) • 1.27 kB
TypeScript
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[];
}