1. JavaScript SDK

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

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

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

このSDKは、エンティティ定義に対してCRUD操作を実行するためのEntity definitions clientを提供します。

警告

エンティティ定義の追加、削除、削除は大きな結果を招く可能性があるため、細心の注意を払って行う必要があります。疑わしい場合は、このクライアントを使用しないでください。

メモ

次のコード例の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は、新しく作成されたエンティティ定義のものと同じです。

手記

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

エンティティ定義の更新

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

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

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

エンティティ定義の削除

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

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

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

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