* 修改项目分组成员角色 * @interface /group/change_member_role * @method POST * @category group * @foldnumber 10 * @param {String} id 项目分组id * @param {String} member_uid 项目分组成员uid * @param {String} role 权限 ['owner'|'dev'] * @returns {Object} * @example
(ctx)
| 303 | * @example |
| 304 | */ |
| 305 | async changeMemberRole(ctx) { |
| 306 | let params = ctx.request.body; |
| 307 | let groupInst = yapi.getInst(groupModel); |
| 308 | |
| 309 | var check = await groupInst.checkMemberRepeat(params.id, params.member_uid); |
| 310 | if (check === 0) { |
| 311 | return (ctx.body = yapi.commons.resReturn(null, 400, '分组成员不存在')); |
| 312 | } |
| 313 | if ((await this.checkAuth(params.id, 'group', 'danger')) !== true) { |
| 314 | return (ctx.body = yapi.commons.resReturn(null, 405, '没有权限')); |
| 315 | } |
| 316 | |
| 317 | params.role = ['owner', 'dev', 'guest'].find(v => v === params.role) || 'dev'; |
| 318 | |
| 319 | let result = await groupInst.changeMemberRole(params.id, params.member_uid, params.role); |
| 320 | let username = this.getUsername(); |
| 321 | |
| 322 | let groupUserdata = await this.getUserdata(params.member_uid, params.role); |
| 323 | yapi.commons.saveLog({ |
| 324 | content: `<a href="/user/profile/${this.getUid()}">${username}</a> 更改了分组成员 <a href="/user/profile/${ |
| 325 | params.member_uid |
| 326 | }">${groupUserdata ? groupUserdata.username : ''}</a> 的权限为 "${rolename[params.role]}"`, |
| 327 | type: 'group', |
| 328 | uid: this.getUid(), |
| 329 | username: username, |
| 330 | typeid: params.id |
| 331 | }); |
| 332 | ctx.body = yapi.commons.resReturn(result); |
| 333 | } |
| 334 | |
| 335 | /** |
| 336 | * 获取所有项目成员 |
nothing calls this directly
no test coverage detected