From 8c5a6d9743fae88b7e4d203f7b08be21a0f38508 Mon Sep 17 00:00:00 2001 From: Chris Diesch Date: Sun, 6 Apr 2025 16:05:40 -0600 Subject: [PATCH] Refactor blueprints and namespaces --- api.py | 12 ++++++++++++ app/MRE/__init__.py | 9 +++------ app/MRE/api/__init__.py | 5 ----- app/MRE/api/routes.py | 4 +--- app/__init__.py | 5 +++-- 5 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 api.py diff --git a/api.py b/api.py new file mode 100644 index 0000000..e4af6e5 --- /dev/null +++ b/api.py @@ -0,0 +1,12 @@ +from flask_restx import api +from flask import Blueprint +from .MRE.api import namespace as mre_namespace + +blueprint = Blueprint('api', __name__) +api = Api( + blueprint, + doc='/doc/', + title='Quarter API documentatoin' +) +api.add_namespace(mre_namespace, '/mre') + diff --git a/app/MRE/__init__.py b/app/MRE/__init__.py index 0e56b53..6a1020d 100644 --- a/app/MRE/__init__.py +++ b/app/MRE/__init__.py @@ -1,7 +1,4 @@ -from flask import Blueprint -from .api import api_blueprint +from flask_restx import Namespace -mre_blueprint = Blueprint('mre_blueprint', - __name__, - url_prefix='mre') -mre_blueprint.register_blueprint(api_blueprint) +namespace = Namespace('mre', + description='Endpoints for MRE calculations') diff --git a/app/MRE/api/__init__.py b/app/MRE/api/__init__.py index 065b810..e69de29 100644 --- a/app/MRE/api/__init__.py +++ b/app/MRE/api/__init__.py @@ -1,5 +0,0 @@ -from flask import Blueprint - -api_blueprint = Blueprint('api_blueprint', - __name__, - url_prefix='api') \ No newline at end of file diff --git a/app/MRE/api/routes.py b/app/MRE/api/routes.py index cefdcf4..3a748ce 100644 --- a/app/MRE/api/routes.py +++ b/app/MRE/api/routes.py @@ -2,9 +2,7 @@ from flask import current_app from flask_restx import Api, fields, apidoc, Model, Namespace, Resource from flask_restx.reqparse import RequestParser from MRE_module import compute_mre - -namespace = Namespace('mre', - description='Endpoints for MRE calculations') +from . import namespace MRE_request_parser = RequestParser() MRE_request_parser.add_argument('consumer_fico', diff --git a/app/__init__.py b/app/__init__.py index c616fa9..371dbd7 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -1,8 +1,8 @@ from flask import Flask import os from app.MRE import mre_blueprint -from logging import Logger, Formatter, getLogger, DEBUG, INFO, - FileHandler +from .api import blueprint as api_blueprint +from logging import Logger, Formatter, getLogger, DEBUG, INFO, FileHandler def load_config_from_environ(app: Flask) -> Flask: @@ -31,5 +31,6 @@ def create_app(app_name: str='MRE') -> Flask: app = init_logger(app) app.register_blueprint(mre_blueprint) + app.register_blueprint(api_blueprint) return app