feat: Implementierung von Benachrichtigungen und sozialen Funktionen; Hinzufügen von API-Endpunkten für Benachrichtigungen, Benutzer-Follows und soziale Interaktionen; Verbesserung des Logging-Systems zur besseren Nachverfolgbarkeit von Systemereignissen.

This commit is contained in:
2025-05-28 22:08:56 +02:00
parent 1f4394e9b6
commit f5c2e70a11
31 changed files with 9294 additions and 591 deletions

View File

@@ -9,11 +9,22 @@ from datetime import datetime
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parent_dir)
from app import app
# Import models direkt, app wird lazy geladen
from models import db, User
def get_app():
"""Lazy loading der Flask app um zirkuläre Imports zu vermeiden"""
try:
from flask import current_app
return current_app
except RuntimeError:
# Fallback wenn kein app context existiert
from app import app
return app
def list_users():
"""List all users in the database."""
app = get_app()
with app.app_context():
try:
users = User.query.all()
@@ -37,6 +48,7 @@ def list_users():
def create_user(username, email, password, is_admin=False):
"""Create a new user in the database."""
app = get_app()
with app.app_context():
try:
# Check if user already exists
@@ -73,6 +85,7 @@ def create_user(username, email, password, is_admin=False):
def reset_password(username, new_password):
"""Reset password for a user."""
app = get_app()
with app.app_context():
try:
user = User.query.filter_by(username=username).first()
@@ -93,6 +106,7 @@ def reset_password(username, new_password):
def delete_user(username):
"""Delete a user from the database."""
app = get_app()
with app.app_context():
try:
user = User.query.filter_by(username=username).first()