UNPKG

@kontent-ai/delivery-sdk

Version:
94 lines (93 loc) 6.34 kB
import { IHttpService } from '@kontent-ai/core-sdk'; import { IDeliveryClientConfig } from '../config'; import { Contracts } from '../contracts'; import { Responses, IContentItem, IContentTypeQueryConfig, IGroupedNetworkResponse, IItemQueryConfig, IDeliveryNetworkResponse, ILanguagesQueryConfig, ITaxonomyQueryConfig, ISyncInitQueryConfig, ClientTypes } from '../models'; import { IKontentListAllResponse, IKontentListResponse, IListAllQueryConfig, ISDKInfo } from '../models/common/common-models'; import { BaseDeliveryQueryService } from './base-delivery-query.service'; import { IMappingService } from './mapping.service'; export declare class QueryService<TClientTypes extends ClientTypes> extends BaseDeliveryQueryService<TClientTypes> { constructor(config: IDeliveryClientConfig, httpService: IHttpService<any>, sdkInfo: ISDKInfo, mappingService: IMappingService<TClientTypes>); /** * Gets single item from given url * @param url Url used to get single item * @param queryConfig Query configuration */ getSingleItemAsync<TContentItem extends IContentItem = TClientTypes['contentItemType']>(url: string, queryConfig: IItemQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>, Contracts.IViewContentItemContract>>; /** * Gets single feed response. Might not contain all items in your environment. * @param url Url * @param queryConfig Query configuration */ getItemsFeed<TContentItem extends IContentItem = TClientTypes['contentItemType']>(url: string, queryConfig: IItemQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']>, Contracts.IItemsFeedContract>>; /** * Gets single used in response. Might not contain all used in references. * @param url Url * @param queryConfig Query configuration */ getUsedIn(url: string, queryConfig: IItemQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IUsedInResponse<TClientTypes>, Contracts.IUsedInItemsContract>>; /** * Gets multiple items from given url * @param url Url used to get multiple items * @param queryConfig Query configuration */ getMultipleItems<TContentItem extends IContentItem = TClientTypes['contentItemType']>(url: string, queryConfig: IItemQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']>, Contracts.IListContentItemsContract>>; /** * Gets single content type from given url * @param url Url used to get single type * @param queryConfig Query configuration */ getSingleType(url: string, queryConfig: IContentTypeQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IViewContentTypeResponse<TClientTypes['contentTypeCodenames']>, Contracts.IViewContentTypeContract>>; /** * Gets multiple content types from given url * @param url Url used to get multiple types * @param queryConfig Query configuration */ getMultipleTypes(url: string, queryConfig: IContentTypeQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IListContentTypesResponse<TClientTypes['contentTypeCodenames']>, Contracts.IListContentTypeContract>>; /** * Initializes synchronization of changes in content items based on the specified parameters. After the initialization, * you'll get an X-Continuation token in the response. * Use the token to synchronize changes in the content items matching the initialization criteria. * @param url Url * @param queryConfig Query configuration */ initializeSync(url: string, queryConfig: ISyncInitQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IInitializeSyncResponse, Contracts.IInitializeSyncContract>>; /** * Retrieve a list of delta updates to recently changed content items in the specified environment. * The types of items you get is determined by the X-Continuation token you use. * @param url Url used to get multiple types * @param queryConfig Query configuration */ syncChanges(url: string, queryConfig: IContentTypeQueryConfig): Promise<IDeliveryNetworkResponse<Responses.ISyncChangesResponse, Contracts.ISyncChangesContract>>; /** * Gets languages * @param url Url * @param queryConfig Query configuration */ getLanguages(url: string, queryConfig: ILanguagesQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IListLanguagesResponse<TClientTypes['languageCodenames']>, Contracts.IListLanguagesContract>>; /** * Gets single taxonomy from given url * @param url Url used to get single taxonomy * @param queryConfig Query configuration */ getTaxonomy(url: string, queryConfig: ITaxonomyQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IViewTaxonomyResponse<TClientTypes['taxonomyCodenames']>, Contracts.IViewTaxonomyGroupContract>>; /** * Gets multiple taxonomies from given url * @param url Url used to get multiple taxonomies * @param queryConfig Query configuration */ getTaxonomies(url: string, queryConfig: ITaxonomyQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>, Contracts.IListTaxonomyGroupsContract>>; /** * Gets single content type element from given url * @param url Url used to get single content type element * @param queryConfig Query configuration */ getElementAsync(url: string, queryConfig: ITaxonomyQueryConfig): Promise<IDeliveryNetworkResponse<Responses.IViewContentTypeElementResponse, Contracts.IViewContentTypeElementContract>>; getListAllResponse<TResponse extends IKontentListResponse, TAllResponse extends IKontentListAllResponse, TContract>(data: { page: number; getResponse: (nextPageUrl?: string, continuationToken?: string) => Promise<IDeliveryNetworkResponse<TResponse, TContract>>; allResponseFactory: (items: any[], responses: IDeliveryNetworkResponse<TResponse, TContract>[]) => IGroupedNetworkResponse<TAllResponse>; listQueryConfig?: IListAllQueryConfig<TResponse, TContract>; }): Promise<IGroupedNetworkResponse<TAllResponse>>; private getListAllResponseInternalAsync; private sleep; }