@kontent-ai/delivery-sdk
Version:
Official Kontent.AI Delivery API SDK
77 lines (76 loc) • 5.19 kB
TypeScript
import { IDeliveryClientConfig } from '../config';
import { Contracts } from '../contracts';
import { Responses, IContentItem, ClientTypes } from '../models';
export interface IMappingService<TClientTypes extends ClientTypes> {
listContentTypesResponse(data: Contracts.IListContentTypeContract): Responses.IListContentTypesResponse<TClientTypes['contentTypeCodenames']>;
itemsFeedResponse<TContentItem extends IContentItem = TClientTypes['contentItemType']>(data: Contracts.IItemsFeedContract): Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']>;
usedInResponse(data: Contracts.IUsedInItemsContract): Responses.IUsedInResponse<TClientTypes>;
viewContentTypeResponse(data: Contracts.IViewContentTypeContract): Responses.IViewContentTypeResponse<TClientTypes['contentTypeCodenames']>;
viewContentItemResponse<TContentItem extends IContentItem = TClientTypes['contentItemType']>(data: Contracts.IViewContentItemContract): Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>;
listContentItemsResponse<TContentItem extends IContentItem = TClientTypes['contentItemType']>(data: Contracts.IListContentItemsContract): Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']>;
viewTaxonomyResponse(data: Contracts.IViewTaxonomyGroupContract): Responses.IViewTaxonomyResponse<TClientTypes['taxonomyCodenames']>;
listTaxonomiesResponse(data: Contracts.IListTaxonomyGroupsContract): Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>;
viewContentTypeElementResponse(data: Contracts.IViewContentTypeElementContract): Responses.IViewContentTypeElementResponse;
listLanguagesResponse(data: Contracts.IListLanguagesContract): Responses.IListLanguagesResponse<TClientTypes['languageCodenames']>;
initializeContentSync(data: Contracts.IInitializeSyncContract): Responses.IInitializeSyncResponse;
syncChanges(data: Contracts.ISyncChangesContract): Responses.ISyncChangesResponse;
}
export declare class MappingService<TClientTypes extends ClientTypes> implements IMappingService<TClientTypes> {
readonly config: IDeliveryClientConfig;
private readonly typeMapper;
private readonly languageMapper;
private readonly itemMapper;
private readonly taxonomyMapper;
private readonly usedInMapper;
private readonly genericElementMapper;
private readonly syncMapper;
constructor(config: IDeliveryClientConfig);
usedInResponse(data: Contracts.IUsedInItemsContract): Responses.IUsedInResponse<TClientTypes>;
/**
* Gets response for list of languages
* @param data Response data
*/
listLanguagesResponse(data: Contracts.IListLanguagesContract): Responses.IListLanguagesResponse<TClientTypes['languageCodenames']>;
/**
* Gets response for getting a multiple type
* @param data Response data
*/
listContentTypesResponse(data: Contracts.IListContentTypeContract): Responses.IListContentTypesResponse<TClientTypes['contentTypeCodenames']>;
/**
* Gets response for single type
* @param data Response data
* @param options Options
*/
viewContentTypeResponse(data: Contracts.IViewContentTypeContract): Responses.IViewContentTypeResponse<TClientTypes['contentTypeCodenames']>;
itemsFeedResponse<TContentItem extends IContentItem = TClientTypes['contentItemType']>(data: Contracts.IItemsFeedContract): Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']>;
/**
* Gets response for getting single item
* @param data Response data
* @param queryConfig Query configuration
*/
viewContentItemResponse<TContentItem extends IContentItem = TClientTypes['contentItemType']>(data: Contracts.IViewContentItemContract): Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>;
/**
* Gets response for getting multiple items
* @param data Response data
* @param queryConfig Query configuration
*/
listContentItemsResponse<TContentItem extends IContentItem = TClientTypes['contentItemType']>(data: Contracts.IListContentItemsContract): Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']>;
/**
* Gets response for getting single taxonomy item
* @param data Response data
*/
viewTaxonomyResponse(data: Contracts.IViewTaxonomyGroupContract): Responses.IViewTaxonomyResponse<TClientTypes['taxonomyCodenames']>;
/**
* Gets response for getting multiples taxonomies
* @param data Response data
*/
listTaxonomiesResponse(data: Contracts.IListTaxonomyGroupsContract): Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>;
/**
* Gets response for getting single content type element
* @param data Response data
*/
viewContentTypeElementResponse(data: Contracts.IViewContentTypeElementContract): Responses.IViewContentTypeElementResponse;
initializeContentSync(data: Contracts.IInitializeSyncContract): Responses.IInitializeSyncResponse;
syncChanges(data: Contracts.ISyncChangesContract): Responses.ISyncChangesResponse;
private mapPagination;
}