summaryrefslogtreecommitdiff
path: root/cli/app/controllers/page_controller.py
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-06-03 16:47:51 +0200
committerJules Laplace <julescarbon@gmail.com>2020-06-03 16:47:51 +0200
commit3e9de575501fd1945b8341f7a4e3a89b73e3cb03 (patch)
treef3adbe4177b2287e9dd2380a19e3260f82aaf3bb /cli/app/controllers/page_controller.py
parentabd277bc02d36570038de4c0646a672f5585fa84 (diff)
getting to the page editor with add tile form
Diffstat (limited to 'cli/app/controllers/page_controller.py')
-rw-r--r--cli/app/controllers/page_controller.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/cli/app/controllers/page_controller.py b/cli/app/controllers/page_controller.py
index 41d30f3..b6bfaa8 100644
--- a/cli/app/controllers/page_controller.py
+++ b/cli/app/controllers/page_controller.py
@@ -3,6 +3,7 @@ from flask_classful import route
from werkzeug.datastructures import MultiDict
from app.sql.common import db, Session
+from app.sql.models.graph import Graph
from app.sql.models.page import Page, PageForm
from app.sql.models.tile import Tile
from app.controllers.crud_controller import CrudView
@@ -26,3 +27,32 @@ class PageView(CrudView):
def on_destroy(self, session, item):
session.query(Tile).filter(Tile.page_id == item.id).delete(synchronize_session=False)
+
+ @route('/name/<graph_path>/<page_path>', methods=['GET'])
+ def get_name(self, graph_path: str, page_path: str):
+ """
+ Fetch a single {model}.
+ """
+ session = Session()
+ graph = session.query(Graph).filter(Graph.path == graph_path).first()
+ if not graph:
+ session.close()
+ return jsonify({
+ 'status': 'error',
+ 'error': 'graph not found'
+ })
+
+ page = session.query(Page).filter(Page.graph_id == graph.id, Page.path == page_path).first()
+ if not page:
+ session.close()
+ return jsonify({
+ 'status': 'error',
+ 'error': 'page not found'
+ })
+
+ result = {
+ 'status': 'ok',
+ 'res': page.toFullJSON() if hasattr(page, 'toFullJSON') else page.toJSON(),
+ }
+ session.close()
+ return jsonify(result)