core/assignment

作业模块。这里作业的接口分为两类,一类是通用接口,一类是特殊接口。

Methods

(async, inner) createAssignment(params, global) → {Promise.<object>}

创建任务,用户必须具有subscriber权限。

  • ajax: POST /api/assignment
  • socket.io: emit assignment:create
Source:
Parameters:
Name Type Description
params object
  • query {object}
    • populate {boolean} 是否返回
    • data {boolean} 是否返回数据
      • data {object}
    • task {string} 任务
    • data {object} 额外的数据
global
Returns:
Type:
Promise.<object>

(async, inner) deleteAssignment(params, global) → {Promise.<void>}

删除作业。必须是任务的订阅者或者任务的提交者。

Source:
Parameters:
Name Type Description
params
global
Returns:
Type:
Promise.<void>

(async, inner) findAssignment(params, global) → {Promise.<object>}

搜索作业。只有发布者或订阅者可以使用。

  • ajax: GET /api/assignment
  • socket.io: emit assignment:find
Source:
Parameters:
Name Type Description
params object

请求数据

  • auth 权限
  • query {object} 请求的query
    • populate {boolean} 是否展开数据
    • count {boolean} 统计总数,需要额外的开销
    • filter {Object.}
      • search {string} 全文检索
      • task {string}
      • publisher {string} 对于发布者,这个值只能是自己,建议以发布者身份搜索时永远设置这个值。
      • subscriber {string} 对于订阅者,这个值只能是自己,建议以订阅者身份搜索时永远设置这个值。
      • type {string}
      • status {string}
      • valid {boolean}
    • limit {number} 可选,小于等于50大于0数字,默认为10
    • lastId {string} 可选,请求的上一个Id
global
Returns:
Type:
Promise.<object>

(async, inner) getAssignment(params, global) → {Promise.<object>}

获取作业详情。

  • ajax: GET /api/assignment/:id
  • socket.io: emit assignment:get
Source:
Parameters:
Name Type Description
params object

params

  • auth {object} 权限
  • id {string} 要获取详情的作业的id
global
Returns:
Type:
Promise.<object>

(async, inner) getAssignmentData(ctx) → {Promise.<void>}

获取作业数据,可以是作业的发布者,或订阅者

Source:
Parameters:
Name Type Description
ctx object

koa的context

Returns:
Type:
Promise.<void>

(async, inner) patchAssignment(params, global) → {Promise.<object>}

更改作业的状态,可能的更改包括订阅者从编辑到提交(作业必须为valid)和发布者从提交到接受或拒绝

  • ajax: PATCH /api/assignment/:id
  • socket.io: emit assignment:patch
Source:
Parameters:
Name Type Description
params object

请求的数据

  • query {object} 请求的query
    • populate {boolean}
  • data {object} 请求的status
    • status {string} 可选,状态
global object
Returns:
Type:
Promise.<object>

(async, inner) postAssignmentData(ctx) → {Promise.<void>}

上传作业数据,提交者必须为作业的订阅者,且作业处于EDITING状态

Source:
Parameters:
Name Type Description
ctx object

koa的context

  • params {object} 请求的数据
    • query {object} 请求的query
      • data {boolean} 是否返回数据,默认false
Returns:
Type:
Promise.<void>