diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-06-01 16:22:18 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-06-01 16:22:18 +0200 |
| commit | 1a7370c19a7eed6a5f0f48e270092f9b3caebbc1 (patch) | |
| tree | ff1ac87d40bde43648e579e43543d3e1646d00d4 /cli/app/controllers | |
| parent | 0890fdd951d021308550a0db2e7b6f2593512957 (diff) | |
models and controllers
Diffstat (limited to 'cli/app/controllers')
| -rw-r--r-- | cli/app/controllers/collection_controller.py | 20 | ||||
| -rw-r--r-- | cli/app/controllers/graph_controller.py | 18 | ||||
| -rw-r--r-- | cli/app/controllers/page_controller.py | 15 | ||||
| -rw-r--r-- | cli/app/controllers/tile_controller.py | 11 |
4 files changed, 44 insertions, 20 deletions
diff --git a/cli/app/controllers/collection_controller.py b/cli/app/controllers/collection_controller.py deleted file mode 100644 index 7206bd8..0000000 --- a/cli/app/controllers/collection_controller.py +++ /dev/null @@ -1,20 +0,0 @@ -from flask import request, jsonify, redirect -from flask_classful import route -from werkzeug.datastructures import MultiDict - -from app.sql.common import db, Session -from app.sql.models.collection import Collection, CollectionForm, getMediaCounts -from app.controllers.crud_controller import CrudView - -from app.data.export import export_zip - -class CollectionView(CrudView): - model = Collection - form = CollectionForm - - def on_index(self, session, data): - data['counts'] = getMediaCounts(session) - return data - - def on_destroy(self, session, item): - session.query(CollectionMedia).filter(CollectionMedia.collection_id == item.id).delete(synchronize_session=False) diff --git a/cli/app/controllers/graph_controller.py b/cli/app/controllers/graph_controller.py new file mode 100644 index 0000000..25b49aa --- /dev/null +++ b/cli/app/controllers/graph_controller.py @@ -0,0 +1,18 @@ +from flask import request, jsonify, redirect +from flask_classful import route +from werkzeug.datastructures import MultiDict + +from app.sql.common import db, Session +from app.sql.models.graph import Graph, GraphForm +from app.sql.models.page import Page +from app.sql.models.tile import Tile +from app.controllers.crud_controller import CrudView + +class GraphView(CrudView): + model = Graph + form = GraphForm + + def on_destroy(self, session, item): + for item in item.pages: + session.query(Tile).filter(Tile.page_id == item.id).delete(synchronize_session=False) + session.query(Page).filter(Page.graph_id == item.id).delete(synchronize_session=False) diff --git a/cli/app/controllers/page_controller.py b/cli/app/controllers/page_controller.py new file mode 100644 index 0000000..5263cf0 --- /dev/null +++ b/cli/app/controllers/page_controller.py @@ -0,0 +1,15 @@ +from flask import request, jsonify, redirect +from flask_classful import route +from werkzeug.datastructures import MultiDict + +from app.sql.common import db, Session +from app.sql.models.page import Page, PageForm +from app.sql.models.tile import Tile +from app.controllers.crud_controller import CrudView + +class PageView(CrudView): + model = Page + form = PageForm + + def on_destroy(self, session, item): + session.query(Tile).filter(Tile.page_id == item.id).delete(synchronize_session=False) diff --git a/cli/app/controllers/tile_controller.py b/cli/app/controllers/tile_controller.py new file mode 100644 index 0000000..c47237b --- /dev/null +++ b/cli/app/controllers/tile_controller.py @@ -0,0 +1,11 @@ +from flask import request, jsonify, redirect +from flask_classful import route +from werkzeug.datastructures import MultiDict + +from app.sql.common import db, Session +from app.sql.models.tile import Tile, TileForm +from app.controllers.crud_controller import CrudView + +class TileView(CrudView): + model = Tile + form = TileForm |
