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 <noreply@anthropic.com>
This commit is contained in:
parent
868ce39577
commit
479ae0b712
|
|
@ -29,6 +29,14 @@ def create_app(config_class=Config):
|
||||||
else:
|
else:
|
||||||
app.config.from_object(config_class)
|
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)
|
# 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
|
# 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'):
|
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")
|
logger.info("MiroFish Backend startup complete")
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|
||||||
|
|
||||||
|
def get_storage():
|
||||||
|
"""Accés al StorageService des de qualsevol context Flask."""
|
||||||
|
from flask import current_app
|
||||||
|
return current_app.extensions['storage']
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue