Esempio n. 1
0
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")
Esempio n. 2
0
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)