MCPcopy
hub / github.com/YMFE/yapi / changeMemberRole

Method changeMemberRole

server/controllers/group.js:305–333  ·  view source on GitHub ↗

* 修改项目分组成员角色 * @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)

Source from the content-addressed store, hash-verified

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 * 获取所有项目成员

Callers

nothing calls this directly

Calls 5

getUserdataMethod · 0.95
getUsernameMethod · 0.80
checkMemberRepeatMethod · 0.45
checkAuthMethod · 0.45
getUidMethod · 0.45

Tested by

no test coverage detected