@kontent-ai/delivery-sdk
Version:
Official Kontent.AI Delivery API SDK
118 lines (117 loc) • 4.23 kB
TypeScript
import { IDeliveryClientConfig } from '../../config';
import { ClientTypes, IContentItem, IKontentListAllResponse, IKontentListResponse, IQueryConfig, SortOrder } from '../../models';
import { QueryService } from '../../services';
import { BaseListingQuery } from './base-listing-query.class';
export declare abstract class BaseItemListingQuery<TClientTypes extends ClientTypes, TResponse extends IKontentListResponse, TAllResponse extends IKontentListAllResponse, TQueryConfig extends IQueryConfig, TContract> extends BaseListingQuery<TClientTypes, IContentItem, TResponse, TAllResponse, TQueryConfig, TContract> {
protected config: IDeliveryClientConfig;
protected queryService: QueryService<TClientTypes>;
constructor(config: IDeliveryClientConfig, queryService: QueryService<TClientTypes>);
/**
* Empty filter condition
* @param element Element with empty value
*/
emptyFilter(element: string): this;
/**
* Not empty filter condition
* @param element Element with non-empty value
*/
notEmptyFilter(element: string): this;
/**
* Equals filter condition
* @param element Element to filter. Example: 'elements.movie'
* @param value Value to match. Example: 'Kingsman'
*/
equalsFilter(element: string, value: string): this;
/**
* Not equals filter condition
* @param element Element to filter. Example: 'elements.movie'
* @param value Value to match. Example: 'Kingsman'
*/
notEqualsFilter(element: string, value: string): this;
/**
* All filter
* @param element Element to filter.
* @param values Values
*/
allFilter(element: string, values: string[]): this;
/**
* Any filter
* @param element Element to filter.
* @param values Values
*/
anyFilter(element: string, values: string[]): this;
/**
* Contains filter
* @param element Element to filter.
* @param values Values
*/
containsFilter(element: string, values: string[]): this;
/**
* Greater then filter
* @param element Element to filter.
* @param value Value
*/
greaterThanFilter(element: string, value: string | number): this;
/**
* Greater then or equals filter
* @param element Element to filter.
* @param value Value
*/
greaterThanOrEqualFilter(element: string, value: string | number): this;
/**
* In filter
* @param element Element to filter.
* @param values Values
*/
inFilter(element: string, values: string[]): this;
/**
* Not in filter
* @param element Element to filter.
* @param values Values
*/
notInFilter(element: string, values: string[]): this;
/**
* Less then filter
* @param element Element to filter.
* @param value Value
*/
lessThanFilter(element: string, value: string | number): this;
/**
* @param element Element to filter.
* @param value Value
*/
lessThanOrEqualFilter(element: string, value: string | number): this;
/**
* @param element Element to filter.
* @param lowerValue Lower value of range (e.g. 2)
* @param higherValue Higher value of range (e.g. 10)
*/
rangeFilter(element: string, lowerValue: number | string, higherValue: number | string): this;
/**
* Limits the number of items returned by query
* @param limit Number of items to load
*/
limitParameter(limit: number): this;
/**
* Orders query based on given element and sort order
* @param element Element by which to order
* @param sortOrder Asc/Desc order type
*/
orderParameter(element: string, sortOrder: SortOrder): this;
/**
* Sets descending order on given element
* @param element Element by which to order
*/
orderByDescending(element: string): this;
/**
* Sets Ascending order on given element
* @param element Element by which to order
*/
orderByAscending(element: string): this;
/**
* Skips the selected number of items
* @param skip Number of items to skip
*/
skipParameter(skip: number): this;
protected linkItemsInRte(allContentItems: IContentItem[]): void;
}