diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-06-03 16:47:51 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-06-03 16:47:51 +0200 |
| commit | 3e9de575501fd1945b8341f7a4e3a89b73e3cb03 (patch) | |
| tree | f3adbe4177b2287e9dd2380a19e3260f82aaf3bb /cli/app/controllers/page_controller.py | |
| parent | abd277bc02d36570038de4c0646a672f5585fa84 (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.py | 30 |
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) |
