UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

144 lines (143 loc) 10.7 kB
import { MapNumberTo, MapStringTo, NullableResultPromise } from "../base-types"; import { IEntityDefinition } from "../contracts/base/entity-definition"; import { ViewMode } from "../contracts/base/view-mode"; import { IEntityDefinitionIterator } from "../contracts/querying/entity-definition-iterator"; import { IEntityDefinitionQueryResult } from "../contracts/querying/entity-definition-query-result"; import { IIdIterator } from "../contracts/querying/id-iterator"; import { IIdQueryResult } from "../contracts/querying/id-query-result"; import { IExtendedContentHubClient } from "./extended-client"; export interface IEntityDefinitionsClient { /** * Get the {@link IEntityDefinition} instance by the specified name. * @param name - The name of the definition * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definition * @param cacheSignature - Signature of the cached resources for controlling browser caching * @returns Promise which resolves to an {@link IEntityDefinition} or null. */ getAsync(name: string, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise<IEntityDefinition>; /** * Get the {@link IEntityDefinition} instance by the specified id. * @param id - The id of the definition * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definition * @param cacheSignature - Signature of the cached resources for controlling browser caching * @returns Promise which resolves to an {@link IEntityDefinition} or null. */ getAsync(id: number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise<IEntityDefinition>; /** * Get all the {@link IEntityDefinition}s. * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @param viewMode - Select appropriate ViewMode * @param loadPermissions - Load permissions for the definitions * @param excludeTaxonomyDefinitions - Exclude taxonomy definitions from the result * @param excludeSystemOwnedDefinitions - Exclude system owned definitions from the result * @param filter - Additional filters * @param definitionsToLoadByName - Comma separated list of definition names * @param definitionsToLoadById - Comma separated list of definition identifiers * @param excludeLightDefinitions - Exclude light definitions from the result * @returns Promise which resolved to an array of {@link IEntityDefinition}s. */ getAllAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise<Array<IEntityDefinition>>; /** * Get all the {@link IEntityDefinition}s (cached). * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @param excludeTaxonomyDefinitions - Exclude taxonomy definitions from the result * @param excludeSystemOwnedDefinitions - Exclude system owned definitions from the result * @param filter - Additional filters * @param definitionsToLoadByName - Comma separated list of definition names * @param definitionsToLoadById - Comma separated list of definition identifiers * @param excludeLightDefinitions - Exclude light definitions from the result * @returns Promise which resolved to an array of {@link IEntityDefinition}s. */ getAllCachedAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise<Array<IEntityDefinition>>; /** * Get the cached {@link IEntityDefinition} instance by the specified name. * @param name - The name of the definition * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definition * @param cacheSignature - Signature of the cached resources for controlling browser caching * @returns Promise which resolves to an {@link IEntityDefinition} or null. */ getCachedAsync(name: string, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise<IEntityDefinition>; getCachedAsync(id: number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise<IEntityDefinition>; getNameAsync(id: number, cacheSignature?: string): NullableResultPromise<string>; getNameCachedAsync(id: number, cacheSignature?: string): NullableResultPromise<string>; getIdAsync(name: string, cacheSignature?: string): NullableResultPromise<number>; getIdCachedAsync(name: string, cacheSignature?: string): NullableResultPromise<number>; /** * Get multiple entity definitions. * @param names - Names of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyAsync(names: Array<string>, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise<Array<IEntityDefinition>>; /** * Get multiple entity definitions. * @param ids - The ids of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyAsync(ids: Array<number>, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise<Array<IEntityDefinition>>; /** * Get multiple entity definitions. Check the cache before making a request. * @param names - Names of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyCachedAsync(names: Array<string>, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise<Array<IEntityDefinition>>; /** * Get multiple entity definitions. Check the cache before making a request. * @param ids - The ids of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyCachedAsync(ids: Array<number>, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise<Array<IEntityDefinition>>; getNamesAsync(ids: Array<number>): Promise<MapNumberTo<string>>; getNamesCachedAsync(ids: Array<number>): Promise<MapNumberTo<string>>; getIdsAsync(names: Array<string>): Promise<MapStringTo<number>>; getIdsCachedAsync(names: Array<string>): Promise<MapStringTo<number>>; saveAsync(definition: IEntityDefinition): Promise<number>; deleteAsync(name: string): Promise<void>; deleteAsync(id: number): Promise<void>; getRangeAsync(skip: number, take: number): Promise<IEntityDefinitionQueryResult>; getRangeIdsAsync(skip: number, take: number): Promise<IIdQueryResult>; createEntityDefinitionIterator(pageSize: number): IEntityDefinitionIterator; createEntityDefinitionIdIterator(pageSize: number): IIdIterator; } export declare class EntityDefinitionsClient implements IEntityDefinitionsClient { private static _batchSize; private readonly _client; private readonly _cache; constructor(client: IExtendedContentHubClient); getAllCachedAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise<Array<IEntityDefinition>>; getAllAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise<Array<IEntityDefinition>>; getAsync(param: string | number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise<IEntityDefinition>; getCachedAsync(param: string | number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise<IEntityDefinition>; getNameAsync(id: number, cacheSignature?: string): NullableResultPromise<string>; getNameCachedAsync(id: number, cacheSignature?: string): NullableResultPromise<string>; getIdAsync(name: string, cacheSignature?: string): NullableResultPromise<number>; getIdCachedAsync(name: string, cacheSignature?: string): NullableResultPromise<number>; getManyAsync(param: Array<string> | Array<number>, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise<Array<IEntityDefinition>>; getManyCachedAsync(param: Array<string> | Array<number>, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise<Array<IEntityDefinition>>; getNamesAsync(ids: Array<number>): Promise<MapNumberTo<string>>; getNamesCachedAsync(ids: Array<number>): Promise<MapNumberTo<string>>; getIdsAsync(names: Array<string>): Promise<MapStringTo<number>>; getIdsCachedAsync(names: Array<string>): Promise<MapStringTo<number>>; saveAsync(definition: IEntityDefinition): Promise<number>; deleteAsync(param: string | number): Promise<void>; getRangeAsync(skip: number, take: number): Promise<IEntityDefinitionQueryResult>; getRangeIdsAsync(skip: number, take: number): Promise<IIdQueryResult>; createEntityDefinitionIterator(pageSize: number): IEntityDefinitionIterator; createEntityDefinitionIdIterator(pageSize: number): IIdIterator; private getDefinitionsSkipTake; private getDefinitionAsync; private getDefinitionsBatchedAsync; private getAllBatchedAsync; }