@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
56 lines (55 loc) • 2.8 kB
TypeScript
import { IExtendedContentHubClient } from "../clients/extended-client";
import { IRelation } from "../contracts/base/relation";
import { IRelationDefinition } from "../contracts/base/relation-definition";
import { IChildToManyParentsRelation } from "../contracts/base/relations/child-to-many-parents-relation";
import { IChildToOneParentRelation } from "../contracts/base/relations/child-to-one-parent-relation";
import { IParentToManyChildrenRelation } from "../contracts/base/relations/parent-to-many-children-relation";
import { IParentToOneChildRelation } from "../contracts/base/relations/parent-to-one-child-relation";
export interface IRelationFactory {
/**
* Creates a {@link IChildToManyParentsRelation}.
* @param definition - The relation definition
* @returns A new relation.
*/
createChildToManyParentsRelation(definition: IRelationDefinition): IChildToManyParentsRelation;
/**
* Creates a {@link IChildToOneParentRelation}.
* @param definition - The relation definition
* @returns A new relation.
*/
createChildToOneParentRelation(definition: IRelationDefinition): IChildToOneParentRelation;
/**
* Creates a {@link IParentToManyChildrenRelation}.
* @param definition - The relation definition
* @returns A new relation.
*/
createParentToManyChildrenRelation(definition: IRelationDefinition): IParentToManyChildrenRelation;
/**
* Creates a {@link IParentToOneChildRelation}.
* @param definition - The relation definition
* @returns A new relation.
*/
createParentToOneChildRelation(definition: IRelationDefinition): IParentToOneChildRelation;
/**
* Creates a {@link IRelation}.
* @param definition - The relation definition
* @returns A new relation.
*/
createRelation(definition: IRelationDefinition): IRelation;
/**
* Creates a new {@link IRelation} collection.
* @param definition - The relation definition
* @returns A collection of relations.
*/
createRelations(definitions: Array<IRelationDefinition>): Array<IRelation>;
}
export declare class RelationFactory implements IRelationFactory {
private readonly _client;
constructor(client: IExtendedContentHubClient);
createChildToManyParentsRelation(definition: IRelationDefinition): IChildToManyParentsRelation;
createChildToOneParentRelation(definition: IRelationDefinition): IChildToOneParentRelation;
createParentToManyChildrenRelation(definition: IRelationDefinition): IParentToManyChildrenRelation;
createParentToOneChildRelation(definition: IRelationDefinition): IParentToOneChildRelation;
createRelation(definition: IRelationDefinition): IRelation;
createRelations(definitions: Array<IRelationDefinition>): Array<IRelation>;
}