To_DO: ERROR AFTER LOGGING IN

This commit is contained in:
florianuhlig
2025-10-03 15:03:18 +02:00
parent 70c85cb8be
commit 1554723ed4
27 changed files with 1484 additions and 273 deletions

View File

@@ -0,0 +1,38 @@
import logging
from flask import g, current_app
from .interface import DatabaseInterface
logger = logging.getLogger(__name__)
class FlaskDatabaseManager:
"""Flask-Integration für Thread-Safe Database Management"""
def __init__(self, database_factory_func):
self.database_factory_func = database_factory_func
def get_db(self) -> DatabaseInterface:
"""
Holt die Datenbank-Instanz für den aktuellen Request
Verwendet Flask's 'g' object für request-lokale Speicherung
"""
if 'database' not in g:
g.database = self.database_factory_func()
g.database.connect()
g.database.create_user_table()
logger.debug("Database instance created for request")
return g.database
def close_db(self, error=None):
"""
Schließt die Datenbank-Verbindung am Ende des Requests
"""
database = g.pop('database', None)
if database is not None:
database.disconnect()
logger.debug("Database connection closed for request")
def init_app(self, app):
"""Registriert die Database-Manager-Funktionen bei Flask"""
app.teardown_appcontext(self.close_db)