core/user

用户模块

Methods

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

创建用户。必须拥有USER_ADMIN权限。通过以下两种方式暴露:

  • ajax: POST /api/user
  • socket.io: emit user:create
Source:
Parameters:
Name Type Description
params object

请求数据

  • auth {object} 权限
  • query {object} 请求的query
    • populate {boolean} 可选,默认false
  • data {object} 请求的data
    • username {string} 必须,必须是英文数字下线符,不能为空
    • password {string} 必须,长度必须大于8
    • roles {string[]} 权限
global object

全局数据

Returns:
Type:
Promise.<object>

如果不populatedata为用户的_id,否则为整个用户字段。

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

删除某个用户,必须拥有USER_ADMIN。通过以下两种方式暴露

  • ajax: DELETE /api/user/:id
  • socket.io: emit user:delete
Source:
Parameters:
Name Type Description
params object

请求数据

  • auth 权限
  • id {string} 用户的ID
global
Returns:
Type:
Promise.<object>

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

搜索用户,通过以下两种方式暴露:

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

请求数据

  • auth 权限,必须拥有userAdmin
  • query {object} 请求的query
    • populate {boolean} 是否展开数据
    • count {boolean} 统计总数,需要额外的开销
    • filter {Object.>}
      • search {string} 全文检索
      • username {string}
      • email {string}
      • role {string} 权限,某个值
      • blocked {boolean}
    • limit {number} 可选,小于等于50大于0数字,默认为10
    • lastId {string} 可选,请求的上一个Id
global
Returns:
Type:
Promise.<object>

data为返回的数组,lastId为最后一个元素的_id total为总数(需要count为1)。

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

获取某个用户的信息。通过以下两种方式暴露:

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

请求数据

  • auth 权限
  • id {string} 要获取的用户信息的Email has been takenID
global
Returns:
Type:
Promise.<object>

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

获取某个用户的个人数据,必须是该用户本人。通过以下两种方式暴露

  • ajax: GET /api/user/:id/data
  • socket.io: emit user:getData
Source:
Parameters:
Name Type Description
params object

请求数据

  • auth 权限
  • id {string} 用户的ID
global
Returns:
Type:
Promise.<object>

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

修改某个用户的信息,如果信息中包含了password或者roles,会导致用户的JWT被清空。通过以下两种方式暴露:

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

请求数据

  • auth 权限
  • id {string} 要获取的用户信息
  • query {object} 请求的query
    • populate {boolean} 可选,默认false。为假时返回的data是id,为真时,返回的data
  • data {object} 请求的data
    • password {string} 必须是自己的才能修改
    • blocked {boolean} 必须拥有USER_ADMIN权限
    • roles {Array.} 必须拥有USER_ADMIN权限
  • file {object} 请求的文件,这里作为头像
global
Returns:
Type:
Promise.<object>

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

设置某个用户的个人数据,必须是该用户本人。通过以下两种方式暴露

  • ajax: POST /api/user/:id/data
  • socket.io: emit user:setData
Source:
Parameters:
Name Type Description
params object

请求数据

  • auth 权限
  • id {string} 用户的ID
  • data {object} 请求的data
    • history {string[]} 看过的历史,最多50条
    • favorites {string[]} 喜爱的,最多50条
global
Returns:
Type:
Promise.<object>