@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
144 lines (143 loc) • 10.7 kB
TypeScript
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;
}