Source code for samlab.dashboard.service.layouts

# Copyright 2018, National Technology & Engineering Solutions of Sandia, LLC
# (NTESS).  Under the terms of Contract DE-NA0003525 with NTESS, the U.S.
# Government retains certain rights in this software.

import flask

from samlab.dashboard.server import application, require_auth, require_permissions
from samlab.dashboard.service import require_backend


[docs]@application.route("/layouts", methods=["GET", "POST"]) @require_auth def get_post_layouts(): if flask.request.method == "GET": require_permissions(["read"]) return flask.jsonify(layout=application.config["layout"]) elif flask.request.method == "POST": require_permissions(["read"]) # We don't require write permissions to save a layout, by design. layouts = require_backend("layouts") lid = layouts.put(content=flask.request.json["layout"]) return flask.jsonify(lid=lid)
[docs]@application.route("/layouts/<lid>") @require_auth def get_layouts_lid(lid): layouts = require_backend("layouts") layout = layouts.get(lid=lid) if layout is None: flask.abort(404) return flask.jsonify(layout=layout)