Skip to Content
FeaturesCMS SDKプロジェクトユーザーの管理

プロジェクトユーザーの管理

CMS SDKを使用したプロジェクトユーザーの管理方法を説明します。このページでは以下の内容を解説します。

  • ユーザーの単体取得・一覧取得
  • ユーザーの招待
  • ユーザーの削除
  • グループの管理

ユーザーの一覧取得

プロジェクト内のユーザー一覧を取得します。

const data = await client.userManagement.listUsers();

フィルタ

特定の条件でユーザーを絞り込むことができます。以下の項目でフィルタが可能です。

  • email: ユーザーのメールアドレス
  • name: ユーザーの名前

以下の例では、名前が一致するユーザーを取得します。

const data = await client.userManagement.listUsers({ filter: { name: "John Doe" }, });

以下の例では、メールアドレスに @example.com を含むユーザーを取得します。

const data = await client.userManagement.listUsers({ filter: { email: { $contains: "@example.com" } }, });

条件の指定方法については、フィルタ を参照してください。

ソート

sort プロパティを指定して、作成日時または更新日時のどちらかでソートできます。

const data = await client.userManagement.listUsers({ sort: "createdAt", });
const data = await client.userManagement.listUsers({ sort: "updatedAt", });

order プロパティで順序を指定することも可能です。

const data = await client.userManagement.listUsers({ sort: "createdAt", order: "asc", });
const data = await client.userManagement.listUsers({ sort: "createdAt", order: "desc", });

ページネーション

取得件数とオフセットを指定してユーザーリストを分割取得します。

const data = await client.userManagement.listUsers({ limit: 10, offset: 0, });

limit パラメータを指定しない場合、デフォルトで100件まで取得されます。

ユーザーの詳細取得

指定したIDのユーザー情報を取得します。

const data = await client.userManagement.getUser(userId);

ユーザーの招待

新しいユーザーをプロジェクトに招待します。招待メールが送信され、ユーザーはパスワード設定後にプロジェクトに参加できます。

const data = await client.userManagement.createUserWithEmailInvite({ email: "user@example.com", name: "John Doe", groupRoles: [{ group: "admin", role: "editor" }], });

ユーザーの削除

指定したIDのユーザーをプロジェクトから削除します。

const data = await client.userManagement.deleteUser(userId);

グループの管理

グループは権限管理のための仕組みです。詳細については、権限 を参照してください。

グループの一覧取得

プロジェクト内のグループ一覧を取得します。

const data = await client.userManagement.listAllGroups();

グループの削除

指定したグループを削除します。

await client.userManagement.deleteGroup("groupName");

グループ内ユーザーの一覧取得

指定したグループに属するユーザーの一覧を取得します。

const data = await client.userManagement.listUsersInGroup("groupName");

フィルタ

filter パラメータを使用して、特定の条件でユーザーを絞り込むことができます。以下の項目でフィルタが可能です。

  • email: ユーザーのメールアドレス
  • name: ユーザーの名前 以下の例では、名前が一致するユーザーを取得します。
const data = await client.userManagement.listUsersInGroup("groupName", { filter: { name: "John Doe" }, });

以下の例では、メールアドレスに @example.com を含むユーザーを取得します。

const data = await client.userManagement.listUsersInGroup("groupName", { filter: { email: { $contains: "@example.com" } }, });

条件の指定方法については、フィルタ を参照してください。

ソート

sort プロパティを指定して、作成日時または更新日時のどちらかでソートできます。

const data = await client.userManagement.listUsersInGroup("groupName", { sort: "createdAt", });
const data = await client.userManagement.listUsersInGroup("groupName", { sort: "updatedAt", });

order プロパティで順序を指定することも可能です。

const data = await client.userManagement.listUsersInGroup("groupName", { sort: "createdAt", order: "asc", });
const data = await client.userManagement.listUsersInGroup("groupName", { sort: "createdAt", order: "desc", });

ページネーション

const data = await client.userManagement.listUsersInGroup("groupName", { limit: 20, offset: 0, });

limit パラメータを指定しない場合、デフォルトで100件まで取得されます。

グループへのユーザー追加

ユーザーIDを指定して、ユーザーを指定したグループに追加し、ロールを設定します。

const data = await client.userManagement.addUserToGroup({ userId: userId, group: "admin", role: "editor", });

メールアドレスを指定してユーザーを追加することも可能です。

const data = await client.userManagement.addUserToGroup({ email: "user@example.com", group: "admin", role: "editor", });

グループからのユーザー削除

指定したユーザーをグループから削除します。

const data = await client.userManagement.removeUserFromGroup({ userId: userId, group: "groupName", });
Last updated on