メインコンテンツへスキップ
新しいユーザーを作成すると、ユーザーインターフェースに、ユーザーに割り当てるメンバーシップを選択するためのドロップダウンが表示されます。これらのメンバーシップは、Memberships Query Hook を使用して定義します。

Hook の仕様

  • ctx: コンテキストオブジェクト。
  • callback(error, { createMemberships: true/false, memberships: }): エラーと、メンバーシップ 設定を含むオブジェクトを返せるコールバック。

使用例

IT 部門のユーザーは、他部門のユーザーを作成できる必要があります。他部門のユーザーは、自部門のユーザーのみを作成できるようにする必要があります。
function(ctx, callback) {
  var currentDepartment = ctx.payload.user.app_metadata && ctx.payload.user.app_metadata.department;
  if (!currentDepartment || !currentDepartment.length) {
    return callback(null, [ ]);
  }

  if (currentDepartment === 'IT') {
    return callback(null, [ 'IT', 'HR', 'Finance', 'Marketing' ]);
  }

  return callback(null, [ ctx.payload.user.app_metadata.department ]);
}

注記

このクエリは UI でのみ使用できるため、ユーザーの特定の部門への割り当てに関するルールを適用する必要がある場合は、Write Hook を使用してメンバーシップを割り当てる必要があります。 指定可能なメンバーシップグループが 1 つしかない場合、UI に Memberships フィールドは表示されません。 createMemberships を true に設定すると、エンドユーザーが memberships フィールドに任意の値を入力できるようになります。
function(ctx, callback) {
  var currentDepartment = ctx.payload.user.app_metadata.department;
  if (!currentDepartment || !currentDepartment.length) {
    return callback(null, [ ]);
  }

  return callback(null, {
    createMemberships: ctx.payload.user.app_metadata.department === 'IT' ? true : false,
    memberships: [ ctx.payload.user.app_metadata.department ]
  });
}

詳細