1. 操作

操作

実行する変更の詳細は、JobDescription エンティティに記述されています。 このエンティティには、Job.Configuration と Job.Data の 2 つのプロパティがあります。 現時点では Job.Data は使用されていません。Job.Configuration は、関連する変更の詳細を記述した JSON ドキュメントを収めています。

JobConfiguration ドキュメントは、本質的には、一括編集ジョブ コレクション リソースを使用して送信された一括編集ジョブ作成要求オブジェクトであり、操作オブジェクトの配列を収めています。 各操作オブジェクトは、関連する操作のタイプといくつかのパラメーターを記述します。 使用可能な操作は次のとおりです。

プロパティの設定

プロパティを設定する操作の例を次に示します。

{
    ...
    "operations":[
        ...
        {
            "type":"SetProperty",
            "property":"AssetName",
            "culture":"en-US",
            "value":"New name for this Asset."
        },
        ...
    ]
    ...
}

property : 変更するプロパティの名前。

culture : (任意) プロパティの設定対象とするカルチャの名前。 単一言語のプロパティであれば、必須ではありません。 多言語プロパティの場合に省略すると、この値はすべてのカルチャの新しい値を記述したディクショナリであると想定されます。

value : プロパティに設定する値。 値の型は、プロパティのタイプ、およびそのプロパティが多言語であるか、多値であるか、またはその両方であるかによって決まります。

プロパティの付加

プロパティを付加する操作の例を次に示します。

{
    ...
    "operations":[
        ...
        {
            "type":"AppendProperty",
            "property":"Description",
            "culture":"en-US",
            "value":"Added description"
        },
        ...
    ]
    ...
}

property : 追加するプロパティの名前。

culture : (任意) プロパティの付加対象とするカルチャの名前。 単一言語のプロパティであれば、必須ではありません。 多言語プロパティの場合に省略すると、この値はすべてのカルチャの新しい値を記述したディクショナリであると想定されます。

value : プロパティに付加する値。 値の型は、プロパティのタイプ、およびそのプロパティが多言語であるかどうかによって決まります。 文字列プロパティのみがサポートされています。

リレーションの解除

リレーションを解除すると、それに関連する既存のエンティティはすべて削除されます。

"リレーションを解除する" 操作の例を次に示します。

{
    "operations":[
        ...
        {
            "type":"ClearRelation",
            "relation":"AssetToAssetType",
            "role":"Child"
        },
        ...
    ]
}

relation : クリアするリレーションの名前。

role : 変更するロールのタイプ。 "Parent" または "Child" を指定できます。

リレーションの追加

リレーションへの追加では、指定した関連エンティティのうち、存在しないものがリレーションの末尾に追加されます。

"リレーションを追加する" 操作の例を次に示します。

{
    "operations":[
        ...
        {
            "type":"AddRelation",
            "relation":"AssetToAssetType",
            "role":"Child",
            "value":[
                {
                    "href":"http://server/api/entities/14"
                }
            ]
        },
        ...
    ]
}

relation : 変更するリレーションの名前。

role : 変更するロールのタイプ。 "Parent" または "Child" を指定できます。

value : リレーションに追加する関連エンティティを参照するリンク オブジェクトまたはリンク オブジェクトの配列。

リレーションの削除

リレーションからの削除では、指定した関連エンティティのうち、存在するものがリレーションから削除されます。

"リレーションを削除する" 操作の例を次に示します。

{
    "operations":[
        ...
        {
            "type":"RemoveRelation",
            "relation":"AssetToAssetType",
            "role":"Child",
            "value":[
                {
                    "href":"http://server/api/entities/14"
                }
            ]
        },
        ...
    ]
}

relation : 変更するリレーションの名前。

role : 変更するロールのタイプ。 "Parent" または "Child" を指定できます。

value : リレーションから削除する関連エンティティを参照するリンク オブジェクトまたはリンク オブジェクトの配列。

エンティティの送信

エンティティ送信は次のように記述します。

{
    "operations":[
        ...
        {
            "type":"Submit"
        },
        ...
    ]
}

エンティティの承認

エンティティの承認は次のように記述します。

{
    "operations":[
        ...
        {
            "type":"Approve"
        },
        ...
    ]
}

エンティティの拒否

エンティティの拒否は次のように記述します。

{
    "operations":[
        ...
        {
            "type":"Reject"
        },
        ...
    ]
}

エンティティの削除

エンティティの削除では、他のすべての操作が無視され、対象のエンティティが削除されます。 そのエンティティが存在しない場合は何の処理も実行されません。

"エンティティを削除する" 操作の例を次に示します。

{
    "operations":[
        ...
        {
            "type":"DeleteEntity"
        }
        ...
    ]
}
この記事を改善するための提案がある場合は、 お知らせください!