UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

105 lines (104 loc) 3.48 kB
import { Observable } from 'rxjs'; import { IDeliveryClientConfig } from '../../config'; import { ContentItem, ItemResponses, SortOrder } from '../../models'; import { QueryService } from '../../services'; import { BaseItemQuery } from './base-item-query.class'; export declare class MultipleItemQuery<TItem extends ContentItem> extends BaseItemQuery<TItem, ItemResponses.DeliveryItemListingResponse<TItem>> { protected config: IDeliveryClientConfig; protected queryService: QueryService; constructor(config: IDeliveryClientConfig, queryService: QueryService); /** * Gets only item of given type * @param type Codename of type to get */ type(type: string): this; /** * Gets items of given types (logical or) * I.e. get items of either 'Actor' or 'Movie' type * @param types Types to get */ types(types: string[]): this; /** * Equals filter condition * @param field Element to filter. Example: 'elements.movie' * @param value Value to match. Example: 'Kingsman' */ equalsFilter(field: string, value: string): this; /** * All filter * @param field Element to filter. * @param values Values */ allFilter(field: string, values: string[]): this; /** * Any filter * @param field Element to filter. * @param values Values */ anyFilter(field: string, values: string[]): this; /** * Contains filter * @param field Element to filter. * @param values Values */ containsFilter(field: string, values: string[]): this; /** * Greater then filter * @param field Element to filter. * @param value Value */ greaterThanFilter(field: string, value: string): this; /** * Greater then or equals filter * @param field Element to filter. * @param value Value */ greaterThanOrEqualFilter(field: string, value: string): this; /** * In filter * @param field Element to filter. * @param values Values */ inFilter(field: string, values: string[]): this; /** * Less then filter * @param field Element to filter. * @param value Value */ lessThanFilter(field: string, value: string): this; /** * @param field Element to filter. * @param value Value */ lessThanOrEqualFilter(field: string, value: string): this; /** * @param field Element to filter. * @param lowerValue Lower value of range (e.g. 2) * @param higherValue Higher value of range (e.g. 10) */ rangeFilter(field: string, lowerValue: number, higherValue: number): 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 field and sort order * @param field Element by which to order * @param sortOrder Asc/Desc order type */ orderParameter(field: string, sortOrder: SortOrder): this; /** * Skips the selected number of items * @param skip Number of items to skip */ skipParameter(skip: number): this; /** * Gets the runnable Observable */ getObservable(): Observable<ItemResponses.DeliveryItemListingResponse<TItem>>; /** * Gets 'Url' representation of query */ getUrl(): string; }