示例#1
0
class ServerDetail(RestView):
    """ Redis 服务器列表
    """

    method_decorators = (ObjectMustBeExist(Server), )

    def get(self, object_id):
        """
        """
        data, _ = ServerSchema().dump(g.instance)
        return data

    def put(self, object_id):
        """更新服务器
        """
        schema = ServerSchema(context={'instance': g.instance})
        data = request.get_json()
        server, errors = schema.load(data, partial=True)
        if errors:
            return errors, 400
        server.save()
        return {'ok': True}

    def delete(self, object_id):
        """删除服务器
        """
        g.instance.delete()
        return {'ok': True}, 204
示例#2
0
class UserDetail(RestView):
    """ Redis 服务器列表
    """

    method_decorators = (TokenAuthenticate(), ObjectMustBeExist(User))

    def get(self, object_id):
        """
        """
        data, _ = UserSchema().dump(g.instance)
        return data

    def put(self, object_id):
        """更新服务器
        """
        schema = UserSchema(context={'instance': g.instance})
        data = request.get_json()
        server, errors = schema.load(data, partial=True)
        if errors:
            return errors, 400
        server.save()
        return {'ok': True}

    def delete(self, object_id):
        """删除服务器
        """
        # 删除服务器时候需要判断当时是否还有没有管理员账户
        if User.query.filter(User.id != g.instance.id).count() == 0:
            raise RestError(400, 'must have one administrator')

        g.instance.delete()
        return {'ok': True}, 204
示例#3
0
class ServerMetrics(RestView):
    method_decorators = (TokenAuthenticate(), ObjectMustBeExist(Server))

    def get(self, object_id):
        """获取监控信息
        TODO 如何限制访问频率
        """
        return g.instance.get_metrics()
示例#4
0
class ServerCommand(RestView):

    method_decorators = (TokenAuthenticate(), ObjectMustBeExist(Server))

    def post(self, object_id):
        """执行 Redis 命令
        TODO 命令参数如何解析
        """
        pass
示例#5
0
class ServerMetrics(RestView):
    """获取服务器监控信息
    """
    method_decorators = (ObjectMustBeExist(Server), )

    def get(self, object_id):
        """获取监控信息
        TODO 如何限制访问频率
        """
        return g.instance.get_metrics()
示例#6
0
class ServerCommand(RestView):
    """执行命令
    """

    method_decorators = (ObjectMustBeExist(Server), )

    def post(self, object_id):
        """执行 Redis 命令
        TODO 命令参数如何解析
        """
        pass
示例#7
0
class ServerDetail(RestView):

    method_decorators = (TokenAuthenticate(), ObjectMustBeExist(Server))

    def get(self, object_id):
        data, _ = ServerSchema().dump(g.instance)
        return data

    def put(self, object_id):
        schema = ServerSchema(context={"instance": g.instance})
        data = request.get_json()
        server, errors = schema.load(data, partial=True)
        if errors:
            return errors, 400
        server.save()
        return {'ok': True}

    def delete(self, object_id):
        g.instance.delete()
        return {'ok': True}, 204
示例#8
0
文件: server.py 项目: zeropy/louplus
class ServerMetrics(RestView):
    method_decorators = (ObjectMustBeExist(Server), )

    def get(self, object_id):
        return g.instance.get_metrics(), 200