示例#1
0
def admin_add_user_permission(uid: int, permission: str):
    """
    给用户添加个人权限
    """
    user: User = db.session.query(User).filter(User.id == uid).one()
    current_permissions = user.permissions
    user.permissions = [*current_permissions, permission]
    db.session.commit()
    permission_manager.refresh_user(user.id)
    return make_json_response(0, message="保存成功")
示例#2
0
def admin_remove_user_permission(uid: int, index: int):
    """
    删除某用户的某条个人权限
    """
    user: User = db.session.query(User).filter(User.id == uid).one()
    current_permissions = user.permissions
    user.permissions = [
        x for i, x in enumerate(current_permissions) if i != index
    ]
    db.session.commit()
    permission_manager.refresh_user(user.id)
    return make_json_response(0, message="删除成功")
示例#3
0
def admin_get_user_permissions():
    """
    获取所有有个人权限的用户
    List[datatypes.admin.UserPermission]
    """
    from common.datatypes.admin import UserPermission
    result: List[UserPermission] = []
    for user in db.session.query(User.id, User.username, User.permissions).filter(User.permissions != []).all():
        result.append(UserPermission(
            uid=user.id,
            username=user.username,
            permissions=user.permissions
        ))
    return make_json_response(0, data=result)