1. エンティティ定義

エンティティ定義クライアント

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

この SDK は、エンティティ定義に対して CRUD 操作を実行するエンティティ定義クライアントを提供しています。

警告

エンティティ定義の追加または削除は大きな影響を与える可能性があるため、細心の注意を払って実行する必要があります。確信を持てない場合は、このクライアントを使用しないでください。

注意

次のコード例の client 変数は ContentHubClient インスタンスを意味します。JavaScript SDK を使用する場合、変数名は自由に選択できますが、ドキュメントの例では client という名前が使われています。

エンティティ定義の取得

エンティティ定義は、名前または ID によって取得できます。

var assetDefinition: IEntityDefinition = await client.entityDefinitions.getAsync("M.Asset");

assetDefId 引数は、64 ビットの数値を入力で受け取ります。

var assetDefinition: IEntityDefinition = await client.entityDefinitions.getAsync(assetDefId);

エンティティ定義が存在しない場合、メソッドは null を返します。

注意

1 つ以上のエンティティ定義を取得するためのオーバーロードが多数あります。また、名前を ID に解決する、またはその逆に解決することも可能です。詳細な概要については、API のドキュメントを参照してください。

エンティティ定義の作成

エンティティ定義オブジェクトは直接インスタンス化でき、ファクトリは必要ありません。次の例は、非常に単純なエンティティ定義の作成を示したものです。

import { EntityDefinition } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base/entity-definition";
import { MemberGroup, StringPropertyDefinition } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base";

var definition = new EntityDefinition({
name: "M.Demo.Definition",
displayTemplate : "{M.Demo.Definition.Name}"
});

var defaultGroup = new MemberGroup({
name: "M.Demo.Definition.Name",
memberDefinitions: [
new StringPropertyDefinition(
"M.Demo.Definition.Name",
{ isUnique: true }
)
]
});

definition.memberGroups.push(defaultGroup);
var id: number = await client.entityDefinitions.saveAsync(definition);

返される ID は、新しく作成されたエンティティ定義の ID と同じです。

注意

EntityDefinitionStylelabs.M.Sdk.Models.Base から、プロパティ メンバーの定義は Stylelabs.M.Sdk.Models.Base.PropertyDefinitions からインポートできます。

エンティティ定義の更新

エンティティ定義の作成と同様に、変更を実行した後で、エンティティ定義クライアントに対して「save」メソッドを使用します。

var id: number = await client.entityDefinitions.saveAsync(definition);

返される ID は、新しく作成されたエンティティ定義の ID と同じです。

エンティティ定義の削除

エンティティ定義は、名前または ID によって削除できます。

await client.entityDefinitions.deleteAsync("M.Demo.Definition");

definitionId 引数は、64 ビットの数値を入力で受け取ります。

await client.entityDefinitions.deleteAsync(definitionId);
この記事を改善するための提案がある場合は、 お知らせください!