@kontent-ai/delivery-sdk
Version:
Official Kontent.AI Delivery API SDK
94 lines (93 loc) • 6.34 kB
TypeScript
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;
}