群组管理

本文档描述PDS的群组管理功能,您可以通过PDS提供的默认客户端使用群组管理功能,也可以参考该文档调用API实现群组管理功能。

基本概念

  • 群组可以理解成企业的一个部门,群组下面可以添加用户,也可以添加其他群组。

  • 群组成员有两种类型,一种是用户,一种是群组。

例如:

image

说明
  • 用户可以加入多个群组,建议一个用户加入的群组不超过10个,否则会降低查询性能。

  • 群组只能在创建时选择对应的父群组,暂时不支持移动。 如果创建群组时不选择父群组则该群组作为根群组。

  • 群组层级最多不能超过10层。

API调用及示例

1. 创建群组

如果需要创建一个根群组,需将is_root参数设置为true。 如果创建的不是根群组,则需要设置parent_group_id,并把is_root设置为false

请求示例

// 创建根群组
{
  "group_name": "某公司", 
  "is_root": true
}

// 在某公司下创建研发部
{
  "group_name": "研发部", 
  "is_root": false,
  "parent_group_id": "929bf1cec48d4eb28a6cca0af29f1b8f"
}

响应示例

{
  "domain_id": "bj3231",
  "group_id": "929bf1cec48d4eb28a6cca0af29f1b8f",
  "group_name": "某公司",
  "description": "",
  "created_at": 1677335855709,
  "updated_at": 1677335855709,
  "creator": "",
  "permission": null
}

2. 列举群组成员

如需列举所有根群组,则不传group_id参数。

请求示例

{
  "group_id": "929bf1cec48d4eb28a6cca0af29f1b8f", 
  "limit": 100
}

响应示例

{
  "group_items": [
    {
      "domain_id": "bj3231",
      "group_id": "ef6a45fa25f54aacae08a501269de4e4",
      "group_name": "研发部",
      "description": "",
      "created_at": 1677336367210,
      "updated_at": 1677336367210,
      "creator": "",
      "permission": null
    }
  ],
  "user_items": [],
  "next_marker": ""

3. 添加成员到群组

此接口只允许添加用户,群组可以在创建时通过parent_group_id来设置父群组

请求示例

{
  "group_id": "ef6a45fa25f54aacae08a501269de4e4",
  "member_id": "39df109b4f4f428db75898bbb0644fa5",
  "member_type": "user"
}

响应示例

204 NoContent

4. 从群组移除成员

此接口只允许移除用户,群组只能先将成员移除后再删除。

请求示例

{
  "group_id": "ef6a45fa25f54aacae08a501269de4e4",
  "member_id": "39df109b4f4f428db75898bbb0644fa5",
  "member_type": "user"
}

响应示例

204 NoContent

5. 删除群组

此接口仅允许删除没有成员的群组。

请求示例

{
  "group_id": "ef6a45fa25f54aacae08a501269de4e4"
}

响应示例

204 NoContent