def group_right_mod(appname, projectname, gid, data): ''' this api is used to modify one group Request URL: /auth/user/{gid} HTTP Method:POST Parameters: { "perm_list":[1,2,3,4] } Return : { "status":0 "data":{} } ''' # check if group id in db cond = {"_id": gid} fields = {"_id": 0} group_info = Group.find_one_group(appname, cond, fields) if not group_info: return json_response_error(PARAM_ERROR, msg="the group not exist") right_list = [int(rid) for rid in data["perm_list"]] right_list = list(set(right_list)) # check if right id in db for rid in right_list: if not Right.find_one_right(appname, {"_id": rid}): return json_response_error( PARAM_ERROR, msg="the right id:%s not exist" % rid) # update group right info group_info["permission_list"][projectname] = right_list Group.update_group(appname, cond, group_info) return json_response_ok({}, msg="update group right success")
def group_name_mod(appname, gid, data): ''' this api is used to modify one group Request URL: /auth/user/{gid} HTTP Method:POST Parameters: { "group_name":"xxx", } Return : { "status":0 "data":{} } ''' group_name = data["group_name"] old_group = Group.find_one_group(appname, {"group_name": group_name}) if old_group and old_group["_id"] != gid: return json_response_error( PARAM_ERROR, msg="the groupname exist") cond = {"_id": gid} Group.update_group(appname, cond, data) group_info = Group.find_one_group( appname, cond, {"_id": 1, "group_name": 1}) group_info["id"] = group_info["_id"] return json_response_ok(group_info)