From 479ae0b712dbc1f8a1e09570b768c5fc49795c91 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Sun, 3 May 2026 00:08:13 +0000 Subject: [PATCH] feat(app): inject SQLAlchemy DB and StorageService into Flask app factory Initializes the database (via init_db) and registers the StorageService instance in app.extensions['storage'] inside create_app(). Adds get_storage() helper for convenient access from any Flask context. Co-Authored-By: Claude Sonnet 4.6 --- backend/app/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/backend/app/__init__.py b/backend/app/__init__.py index ae17f391..a7ebd261 100644 --- a/backend/app/__init__.py +++ b/backend/app/__init__.py @@ -29,6 +29,14 @@ def create_app(config_class=Config): else: app.config.from_object(config_class) + # Inicialitzar BD + from .db import init_db + init_db(app.config['DATABASE_URL']) + + # Inicialitzar Storage + from .storage import create_storage_service + app.extensions['storage'] = create_storage_service() + # Configure JSON encoding: ensure non-ASCII characters are output directly (not as \uXXXX) # Flask >= 2.3 uses app.json.ensure_ascii; older versions use JSON_AS_ASCII config if hasattr(app, 'json') and hasattr(app.json, 'ensure_ascii'): @@ -120,3 +128,9 @@ def create_app(config_class=Config): logger.info("MiroFish Backend startup complete") return app + + +def get_storage(): + """Accés al StorageService des de qualsevol context Flask.""" + from flask import current_app + return current_app.extensions['storage']