From df224d647ddf49236f4f496d80739ccd2ad2d003 Mon Sep 17 00:00:00 2001 From: Derrick Brittain Date: Thu, 31 Oct 2024 14:48:25 -0700 Subject: [PATCH] Fix routes (#171) * fix: move index redirect into blueprint * feat: add favicon.ico --- materializationengine/app.py | 16 ++++++++++------ static/favicon.ico | Bin 0 -> 15406 bytes templates/base.html | 1 + 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 static/favicon.ico diff --git a/materializationengine/app.py b/materializationengine/app.py index 480b24e4..42b7a985 100644 --- a/materializationengine/app.py +++ b/materializationengine/app.py @@ -4,7 +4,7 @@ import numpy as np from dynamicannotationdb.models import Base, AnalysisVersion -from flask import Blueprint, Flask, current_app, jsonify, redirect +from flask import Blueprint, Flask, current_app, jsonify, redirect, url_for from flask_cors import CORS from flask_restx import Api from flask_sqlalchemy import SQLAlchemy @@ -22,6 +22,7 @@ from materializationengine.views import views_bp from materializationengine.limiter import limiter from materializationengine.migrate import migrator + db = SQLAlchemy(model_class=Base) @@ -68,6 +69,10 @@ def versions(): def version(): return jsonify(__version__), 200 + @apibp.route("/") + def index(): + return redirect("/materialize/views/") + db.init_app(app) ma.init_app(app) @@ -76,7 +81,10 @@ def version(): with app.app_context(): api = Api( - apibp, title="Materialization Engine API", version=__version__, doc="/doc" + apibp, + title="Materialization Engine API", + version=__version__, + doc="/api/doc", ) api.add_namespace(mat_bp, path="/api/v2") api.add_namespace(client_bp, path="/api/v2") @@ -98,10 +106,6 @@ def health(): session.close() return jsonify({aligned_volume: n_versions}), 200 - @app.route("/materialize/") - def index(): - return redirect("/materialize/views") - @app.teardown_appcontext def shutdown_session(exception=None): for key in sqlalchemy_cache._sessions: diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0d5c8b3e22ccca510a4020fc8ce24ca65acfa595 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/templates/base.html b/templates/base.html index dcdd80b4..59e6a4ef 100644 --- a/templates/base.html +++ b/templates/base.html @@ -3,6 +3,7 @@ {% block title %}{% endblock %} - Materialization Service - v.{{version}} +