Skip to content

project manage

qifeng dai edited this page Apr 19, 2017 · 34 revisions

1.创建项目

说明:本 API 用于创建项目。注意 "管理员" 不能创建项目,只有普通用户才能创建,管理员是不能做任何项目开发的事情的。如果项目已经存在,是不能重复创建的。

POST    /projects/:name
Parameters: desc={desc}

Response:
Status: 201 Created
{
  "name": "bdi",
  "desc": "百分点 bdi 项目",
  "createTime": 1468391778000,
  "modifyTime": 1468391778000,
  "owner": "bdi_user"
}

请求说明:

参数 类型 是否必选 描述 说明
desc string 项目描述 项目的描述,例如:百分点 bdi 项目,限长 [0,256] 字节

返回说明:

  • 成功,返回 Status: 201 Created
  • 失败,返回 Status: 4xx, 并包含错误信息

2.修改项目

说明:部分修改,只有 "项目 owner" 才有权限操作。项目不存在,则修改失败。

PATCH  /projects/:name

Response:
Status: 205 Reset Content

请求说明:所有参数都是可选的。

返回同上。

3.删除项目

说明:只有 "项目 owner或管理员" 才有权限操作。项目下有其他配置信息(如 "工作流, 资源,数据源" 等)时不能删除。

DELETE /projects/:name

Response:
Status: 204 No Content

4.查询项目列表

说明:查询本用户参与的所有项目列表。对 "管理员",可以查询所有的项目列表。

GET /projects

Response:
Status: 200 OK
[
  {
    "name": "bdi",
    "desc": "百分点 bdi 项目",
    "createTime": 1468391778000,
    "modifyTime": 1468391778000,
    "owner": "bdi_user"
  }
]

5.项目添加一个用户

说明:只有 "项目 owner" 才有权限操作,项目添加用户时,指定该用户的权限,分修改、执行和查看 3 种权限配置。

POST  /projects/:name/users/:user-name
Parameters: perm=0x02

Response:
Status: 200 OK
{
  "projectName": "the name of project",
  "userName": "the name of user",
  "perm": 0x02,
  "createTime": 1468391778000,
  "modifyTime": 1468391778000,
  "owner": "bdi_user"
}

请求参数:

参数 类型 是否必选 描述 说明
perm int 见下面的说明部分

perm 说明:项目操作权限使用二进制位来表示,目前支持 w/r/x 3 种权限. 写权限:0x04, 读权限:0x02, 执行权限:0x01,权限可以同时是多个的,比如 0x05 表示同时具备写权限和执行权限。

6.项目修改一个用户

说明:只有 "项目 owner" 才有权限操作。如果用户不在项目中,是不能修改的。

PUT  /projects/:name/users/:user-name
Parameters: perm=0x02

Response:
Status: 200 OK

请求和返回同上。

7.项目删除一个用户

说明:只有 "项目 owner" 才有权限操作,删除一个用户,必须保证这个用户在项目中的不存在 owner,即不拥有 "资源/数据源/工作流"。

DELETE  /projects/:name/users/:user-name

Response:
Status: 204 No Content

8.查看项目下的所有用户

说明:只有 "项目 owner" 才有权限操作。

GET /projects/:name/users

Response:
Status: 200 OK
[
  {
    "projectName": "the name of project",
    "userName": "the name of user",
    "perm": 0x03,
    "createTime": 1468391778000,
    "modifyTime": 1468391778000,
    "owner": "bdi_user"
  }
]
Clone this wiki locally