Пример #1
0
    def create(self, gid):
        """Add a server node to the settings database"""
        required_args = [
            u'name',
            u'host',
            u'port',
            u'db',
            u'username',
            u'sslmode'
        ]

        data = request.form if request.form else json.loads(request.data)

        for arg in required_args:
            if arg not in data:
                return make_json_response(
                    status=410,
                    success=0,
                    errormsg=gettext(
                        "Couldn't find the required parameter (%s)." % arg
                    )
                )

        try:
            server = Server(
                user_id=current_user.id,
                servergroup_id=gid,
                name=data[u'name'],
                host=data[u'host'],
                port=data[u'port'],
                maintenance_db=data[u'db'],
                username=data[u'username'],
                ssl_mode=data['sslmode'],
                comment=data['comment'] if 'comment' in data else None
            )
            db.session.add(server)
            db.session.commit()

            return jsonify(node=generate_browser_node(
                '%s' % server.id,
                '%s' % gid,
                '%s' % server.name,
                "icon-{0}-not-connected".format(ServerModule.NODE_TYPE),
                True,
                ServerModule.NODE_TYPE))

        except Exception as e:
            return make_json_response(
                status=410,
                success=0,
                errormsg=e.message
            )
Пример #2
0
    def get_nodes(self, server_group):
        """Return a JSON document listing the server groups for the user"""
        servers = Server.query.filter_by(user_id=current_user.id,
                                         servergroup_id=server_group)

        # TODO: Move this JSON generation to a Server method
        for server in servers:
            node = generate_browser_node(
                "%d" % (server.id),
                "%d" % server_group,
                server.name,
                "icon-%s-not-connected" % self.NODE_TYPE,
                True,
                self.NODE_TYPE)

            yield node
Пример #3
0
    def list(self, gid):
        res = []
        """Return a JSON document listing the server groups for the user"""
        servers = Server.query.filter_by(user_id=current_user.id,
                                         servergroup_id=gid)

        for server in servers:
            res.append(
                generate_browser_node(
                    "%s" % server.id,
                    "%s" % gid,
                    server.name,
                    "icon-%s-not-connected" % ServerModule.NODE_TYPE,
                    True,
                    ServerModule.NODE_TYPE)
            )
        return make_json_response(result=res)