lib/project.js

/**
 * 获取用户所有项目
 * @memberof Worktile#projects
 * @see {@link https://open.worktile.com/wiki/projects.html}
 */
function list () {
  return this.request({
    uri: '/v1/projects'
  })
}

/**
 * 获取项目详情
 * @memberof Worktile#projects
 * @param {object} params - 参数
 * @param {string} params.pid - 项目pid
 * @see {@link https://open.worktile.com/wiki/project.html}
 */
function get (params) {
  return this.request({
    uri: '/v1/projects/' + params.pid
  })
}

/**
 * 获取项目成员
 * @memberof Worktile#projects
 * @param {object} params - 参数
 * @param {string} params.pid - 项目pid
 * @see {@link https://open.worktile.com/wiki/project_members.html}
 */
function getMembers (params) {
  return this.request({
    uri: '/v1/projects/' + params.pid + '/members'
  })
}

/**
 * 获取项目成员
 * @memberof Worktile#projects
 * @param {object} params - 参数
 * @param {string} params.pid - 项目pid
 * @param {string} params.uid - 成员uid
 * @param {number} params.role - 成员角色
 * @see {@link https://open.worktile.com/wiki/project_addMember.html}
 */
function addMemeber (params) {
  return this.request({
    method: 'POST',
    uri: '/v1/projects/' + params.pid + '/members',
    body: {
      uid: params.uid,
      role: params.role
    }
  })
}

/**
 * 项目移除成员
 * @memberof Worktile#projects
 * @param {object} params - 参数
 * @param {string} params.pid - 项目pid
 * @param {string} params.uid - 成员uid
 * @see {@link https://open.worktile.com/wiki/project_removeMember.html}
 */
function removeMemeber (params) {
  return this.request({
    method: 'DELETE',
    uri: '/v1/projects/' + params.pid + '/members/' + params.uid
  })
}

/**
 * 项目(project)接口
 * @namespace projects
 * @memberof Worktile#
 */
module.exports = {
  list: list,
  get: get,
  getMembers: getMembers,
  addMemeber: addMemeber,
  removeMemeber: removeMemeber
}