1. 目录

1.1. 资源说明

1.1.1. 目录定义

目录是衡石系统内为方便用户管理应用应用下的资源而设定的系统功能,展示为树形结构,通过该功能可实现业务区域划分、资源与资源使用权限的集中管理

目录结构说明

字段 类型 描述
id BIGINT 目录id
title STRING 目录标题
parentId BIGINT 父目录id
area STRING 目录所在区域: PERSONAL_AREA 、PUBLIC_AREA 、 DATA_MART 、 APP_MART
options OBJECT 目录配置信息
options.rootType STRING 区域级根节点的类型: PUBLIC_ROOT_FOLDER 、PERSONAL_ROOT_FOLDER
options.childrenOrder ARRAY 子目录排序
options.appOrder ARRAY 目录内应用排序
updatedAt DATETIME 目录最后更新时间
updatedBy DATETIME 目录最后修改者的userId
createdAt DATETIME 目录创建时间
updatedBy DATETIME 目录最后修改者的userId
tenantId LONG 租户id
idPath ARRAY 路径id

区域说明

状态值 意义
PERSONAL_AREA 个人区,用户私有(3.0版本未实现目录功能)
PUBLIC_AREA 共享区,该区域属于系统公有区域,所有被赋予目录权限的系统内用户均可管理/编辑/读取
DATA_MART 数据集市,与共享区性质相同,区别在于该区域目录下的应用内,只能创建数据集,供其他区域使用
APP_MART 应用集市-个人空间,即发布区(3.0版本未实现目录功能)
SYSTEM_PORTAL 应用集市-团队空间,即发布区(3.0版本未实现目录功能)

目录/应用授权说明

状态值 意义
read 查看者:可查看目录/应用及目录下的资源
read\ write 编辑者:拥有目录的编辑者权限时,可在目录下创建、查看、修改目录/应用
admin\ read\ write 管理者:除拥有编辑者权限外,还可管理目录/应用为其他用户赋予/删除权限
admin\ read\ 租户使用者:平台方授权资源给租户时的角色,可管理目录/应用为租户内其他用户赋予权限

目录权限说明

  • 三个公用目录区:DATA_MART,PUBLIC_AREA,SYSTEM_PORTAL存在超管用户,超管用户用有该区域内所有资源的所有权限,其角色分别为:DATA_MART(系统管理+数据管理),PUBLIC_AREA(系统管理+数据管理),SYSTEM_PORTAL(系统管理+数据分析)
  • 普通用户的权限范围:若用户拥有某目录的某项权限,则同时拥有该目录下子目录与资源的对应权限,以最大权限为准

    1.2. 接口说明

1.2.1. 1、创建目录

  • 创建者需要同时拥有数据管理员系统管理员角色 或 拥有上层任意父目录的编辑者权限
  • 区域根目录由系统默认生成,因此用户创建的目录 parent_id 不可为空

    请求URL

    POST /api/v1/folders
    
    需要认证:是

    请求参数

Request Body 参数
字段 类型 是否必须 说明
title STRING 目录名称
parentId BIGINT 父目录id

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 每种目录的共同结构见目录结构说明

接口示例1: 创建目录

POST /api/v1/folders

{
  "title": "test",
  "parentId": 1
}

返回:

{
  "version": "2.7-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 2,
    "parentId": 1,
    "title": "test",
    "createdBy": 1,
    "createdAt": "2019-12-08 23:35:54",
    "updatedBy": 1,
    "updatedAt": "2019-12-08 23:35:54",
    "area": "PUBLIC_AREA"
  }
}

1.2.2. 2、修改(移动)目录

  • 修改者需要同时拥有数据管理员系统管理员角色 或 拥有上层任意父目录的编辑者权限
  • 移动目录需遵循以下规则:

    1、区域根目录不可移动 2、目录不可跨区域移动 3、移动目录需要用户同时拥有被移动目录和目标目录的编辑者权限 4、若移动目录需要保留权限配置,则用户需拥有目标目录的管理者权限

    请求URL

    PUT /api/v1/folders/{folderId}
    

    需要认证:是

    请求参数

Request Body 参数
字段 类型 是否必须 说明
title STRING 目录名称
parentId BIGINT 父目录id(移动操作时表示目标目录id)
keepAuthConfig BOOL 是否保留权限配置(默认为true)

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 每种目录的共同结构见目录结构说明

接口示例1: 修改/移动目录

PUT /api/v1/folders/{folderId}

{
  "title": "test",
  "parentId": 3,
  "keepAuthConfig":false
}

返回:

{
  "version": "2.7-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 2,
    "parentId": 3,
    "title": "test",
    "createdBy": 1,
    "createdAt": "2019-12-08 23:35:54",
    "updatedBy": 1,
    "updatedAt": "2019-12-08 23:35:54",
    "area": "PUBLIC_AREA"
  }
}

1.2.3. 3、删除目录

  • 修改者需要同时拥有数据管理员系统管理员角色 或 拥有上层任意父目录的编辑者权限
  • 区域根目录不可删除
  • 为防止误操作,只能删除空目录(目录下无子目录或应用)

    请求URL

    DELETE /api/v1/folders/{folderId}
    
    需要认证:是

    请求参数

    返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 每种目录的共同结构见目录结构说明

接口示例1: 删除目录

DELETE /api/v1/folders/{folderId} 返回:

{
  "version": "2.7-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success"
}

1.2.4. 4、根据id获取目录

  • 修改者需要同时拥有数据管理员系统管理员角色 或 拥有上层任意父目录的查看者权限
  • 返回值中包含被查询目录下一级的子目录和app(children/apps),以及被查询目录所有父目录的id和title(parents)

    请求URL

    GET /api/v1/folders/{folderId}
    
    需要认证:是

    请求参数

    返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 每种目录的共同结构见目录结构说明

接口示例1: 根据id获取目录

GET /api/v1/folders/{folderId} 返回:

{
  "version": "2.7-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 3,
    "parentId": 2,
    "title": "b",
    "options": {},
    "createdBy": 1,
    "createdAt": "2019-12-01 21:24:24",
    "updatedBy": 3,
    "updatedAt": "2019-12-04 18:15:18",
    "visible": true,
    "children": [
        {"id":4,"title":"c"},
        {"id":5,"title":"d"}
    ],
    "parents": [
        {"id":1,"title":"root"}
        {"id":2,"title":"a"}
    ]
    "area": "PUBLIC_AREA",
    "apps": [
      {
        "id": 2,
        "title": "app2",
        "cover": "",
        "options": {},
        "createdBy": 1,
        "createdAt": "2019-12-01 21:08:36",
        "updatedBy": 1,
        "updatedAt": "2019-12-01 21:08:36",
        "visible": true,
        "isDelete": false,
        "isPublish": false,
        "hsVersion": 0,
        "publicPublish": false,
        "publish": false
      }
    ],
    "delete": false
  }
}

1.2.5. 5、获取目录列表

  • 修改者需要同时拥有数据管理员系统管理员角色 或 拥有上层任意父目录的查看者权限
  • 返回结果为当前用户在指定区域,有权限查看的所有目录的树形结构,并包含各目录下的应用
  • 同时拥有数据管理员系统管理员角色的用户,可看到指定区域下的所有目录信息

    请求URL

    GET /api/v1/folders
    
    需要认证:是

    请求参数

    URL 参数
    | 字段 | 类型 |是否必须| 说明 | |-------|---------|-------|-----------------------------------| | queryAppTree | BOOL | 否 | 是否要查询目录下的应用信息,默认为 true | | area | STRING | 否 | 指定查询区域,默认为 PUBLIC_AREA | | targetAppId | LONG | 否 | 查询可见数据源时传递的当前appId | | orderBy | STRING | 否 | 排序字段,默认为updated_at | | orderType | STRING | 否 | 排序方式,默认为desc | | action | STRING | 否 | 查询当前用户拥有特定权限的目录,如:read|write | | targetFolderCreatorId | LONG | 否 | 查询特定用户创建的目录,仅在PERSONAL_AREA可用 | | folderId | LONG | 否 | 查询指定id的目录,及以该目录为树根的目录树 |

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 每种目录的共同结构见目录结构说明

接口示例1: 获取目录列表

GET /api/v1/folders?queryMeta=false&area=PUBLIC_AREA 返回:

{
  "version": "2.7-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": 1,
      "title": "public_area_root_folder",
      "options": {
        "rootType": "PUBLIC_ROOT_FOLDER"
      },
      "createdAt": "2019-12-01 21:06:15",
      "updatedAt": "2019-12-01 21:06:15",
      "visible": true,
      "area": "PUBLIC_AREA",
      "children": [
        {
          "id": 2,
          "parentId": 1,
          "title": "a",
          "options": {},
          "createdBy": 1,
          "createdAt": "2019-12-01 21:11:41",
          "updatedBy": 1,
          "updatedAt": "2019-12-01 21:11:41",
          "visible": true,
          "area": "PUBLIC_AREA",
          "children": [
            {
              "id": 3,
              "parentId": 2,
              "title": "b",
              "options": {},
              "createdBy": 1,
              "createdAt": "2019-12-01 21:24:24",
              "updatedBy": 3,
              "updatedAt": "2019-12-04 18:15:18",
              "visible": true,
              "area": "PUBLIC_AREA",
              "children": [
                {
                  "id": 5,
                  "parentId": 3,
                  "title": "d",
                  "options": {},
                  "createdBy": 1,
                  "createdAt": "2019-12-01 21:25:23",
                  "updatedBy": 1,
                  "updatedAt": "2019-12-01 21:25:23",
                  "visible": true,
                  "area": "PUBLIC_AREA",
                  "apps": [
                    {
                      "id": 4,
                      "title": "app4",
                      "cover": "",
                      "options": {},
                      "createdBy": 1,
                      "createdAt": "2019-12-01 21:08:46",
                      "updatedBy": 1,
                      "updatedAt": "2019-12-01 21:08:46",
                      "visible": true,
                      "isDelete": false,
                      "isPublish": false,
                      "hsVersion": 0,
                      "folderId": 5,
                      "publicPublish": false,
                      "publish": false
                    }
                  ],
                  "delete": false
                },
                {
                  "id": 6,
                  "parentId": 3,
                  "title": "e",
                  "options": {},
                  "createdBy": 1,
                  "createdAt": "2019-12-01 21:25:30",
                  "updatedBy": 1,
                  "updatedAt": "2019-12-01 21:25:30",
                  "visible": true,
                  "area": "PUBLIC_AREA",
                  "children": [
                    {
                      "id": 16,
                      "parentId": 6,
                      "title": "test3F",
                      "options": {},
                      "createdBy": 3,
                      "createdAt": "2019-12-05 11:43:14",
                      "updatedBy": 3,
                      "updatedAt": "2019-12-05 12:09:48",
                      "visible": true,
                      "area": "PUBLIC_AREA",
                      "delete": false
                    }
                  ],
                  "delete": false
                }
              ],
              "apps": [
                {
                  "id": 2,
                  "title": "app2",
                  "cover": "",
                  "options": {},
                  "createdBy": 1,
                  "createdAt": "2019-12-01 21:08:36",
                  "updatedBy": 1,
                  "updatedAt": "2019-12-01 21:08:36",
                  "visible": true,
                  "isDelete": false,
                  "isPublish": false,
                  "hsVersion": 0,
                  "folderId": 3,
                  "publicPublish": false,
                  "publish": false
                }
              ],
              "delete": false
            },
            {
              "id": 4,
              "parentId": 2,
              "title": "c",
              "options": {},
              "createdBy": 1,
              "createdAt": "2019-12-01 21:24:50",
              "updatedBy": 1,
              "updatedAt": "2019-12-01 21:24:50",
              "visible": true,
              "area": "PUBLIC_AREA",
              "children": [
                {
                  "id": 7,
                  "parentId": 4,
                  "title": "f",
                  "options": {},
                  "createdBy": 1,
                  "createdAt": "2019-12-01 21:25:52",
                  "updatedBy": 3,
                  "updatedAt": "2019-12-04 17:26:14",
                  "visible": true,
                  "area": "PUBLIC_AREA",
                  "children": [
                    {
                      "id": 8,
                      "parentId": 7,
                      "title": "g",
                      "options": {},
                      "createdBy": 1,
                      "createdAt": "2019-12-01 21:26:09",
                      "updatedBy": 1,
                      "updatedAt": "2019-12-01 21:26:09",
                      "visible": true,
                      "area": "PUBLIC_AREA",
                      "children": [
                        {
                          "id": 17,
                          "parentId": 8,
                          "title": "areaT",
                          "options": {},
                          "createdBy": 3,
                          "createdAt": "2019-12-05 14:17:53",
                          "updatedBy": 3,
                          "updatedAt": "2019-12-05 14:19:43",
                          "visible": true,
                          "area": "PUBLIC_AREA",
                          "delete": false
                        }
                      ],
                      "apps": [
                        {
                          "id": 3,
                          "title": "app3",
                          "cover": "",
                          "options": {},
                          "createdBy": 1,
                          "createdAt": "2019-12-01 21:08:41",
                          "updatedBy": 1,
                          "updatedAt": "2019-12-01 21:08:41",
                          "visible": true,
                          "isDelete": false,
                          "isPublish": false,
                          "hsVersion": 0,
                          "folderId": 8,
                          "publicPublish": false,
                          "publish": false
                        }
                      ],
                      "delete": false
                    }
                  ],
                  "delete": false
                }
              ],
              "delete": false
            }
          ],
          "apps": [],
          "delete": false
        }
      ],
      "delete": false
    }
  ]
}

results matching ""

    No results matching ""

    文件数据集 衡石系统函数列表