任务模块。这里任务的接口分为两类,一类是通用接口,一类是特殊接口。
- Source:
Methods
(async, inner) createTask(params, global) → {Promise.<object>}
创建任务。需要具有PUBLISHER
权限`
- ajax: POST /api/task/:id
- socket.io: emit task:create
- Source:
Parameters:
Name | Type | Description |
---|---|---|
params |
object
|
|
global |
object
|
|
Returns:
- Type:
-
Promise.<object>
如果不populate
,data
为任务的_id
,否则为整个任务字段。
(async, inner) deleteTask(params, global) → {Promise.<void>}
删除任务,必须为publisher或者拥有TASK_ADMIN
权限
- Source:
Parameters:
Name | Type | Description |
---|---|---|
params |
||
global |
Returns:
- Type:
-
Promise.<void>
(async, inner) findTask(params, global) → {Promise.<object>}
搜索任务,通过以下两种方式暴露:
- ajax:GET /api/task
- socket.io: emit task:find
- Source:
Parameters:
Name | Type | Description |
---|---|---|
params |
object
|
请求数据
|
global |
Returns:
- Type:
-
Promise.<object>
(async, inner) getTask(params, global) → {Promise.<object>}
获取任务详情。如果任务处于未发布状态,只有任务本身的发布者或者任务管理员可以有权限获取。
- ajax: GET /api/task/:id
- socket.io: emit task:get
- Source:
Parameters:
Name | Type | Description |
---|---|---|
params |
object
|
|
global |
object
|
|
Returns:
- Type:
-
Promise.<object>
(async, inner) getTaskData(ctx) → {Promise.<void>}
获取任务数据,可以是任务的发布者,或订阅者且任务处于PUBLISHED
状态
- Source:
Parameters:
Name | Type | Description |
---|---|---|
ctx |
object
|
koa的context |
Returns:
- Type:
-
Promise.<void>
(async, inner) patchTask(params, global) → {Promise.<object>}
修改任务详情。任务的拥有者能修改EDITING
时的任务信息,type只能从无到有,状态可由EDITING
转换为SUBMITTED
,同时该任务必须是valid的,也可在ADMITTED
的更改任务状态为EDITING
或者PUBLISHED
。任务管理员可以将任务的状态由SUBMITTED
改成EDITING
或者ADMITTED
。
- ajax: PATCH /api/task/:id
- socket.io: emit task:patch
- Source:
Parameters:
Name | Type | Description |
---|---|---|
params |
object
|
|
global |
object
|
|
Returns:
- Type:
-
Promise.<object>
(async, inner) postTaskData(ctx) → {Promise.<void>}
上传任务数据,提交者必须为任务的发布者,且任务处于EDITING
状态
- Source:
Parameters:
Name | Type | Description |
---|---|---|
ctx |
object
|
koa的context
|
Returns:
- Type:
-
Promise.<void>