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:
|
||||
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']
|
||||
|
|
|
|||
Loading…
Reference in New Issue