🔧 Update: Enhanced error handling and logging across various modules

**Änderungen:**
-  app.py: Hinzugefügt, um CSRF-Fehler zu behandeln
-  models.py: Fehlerprotokollierung bei der Suche nach Gastanfragen per OTP
-  api.py: Fehlerprotokollierung beim Markieren von Benachrichtigungen als gelesen
-  calendar.py: Fallback-Daten zurückgeben, wenn keine Kalenderereignisse vorhanden sind
-  guest.py: Status-Check-Seite für Gäste aktualisiert
-  hardware_integration.py: Debugging-Informationen für erweiterte Geräteinformationen hinzugefügt
-  tapo_status_manager.py: Rückgabewert für Statusabfrage hinzugefügt

**Ergebnis:**
- Verbesserte Fehlerbehandlung und Protokollierung für eine robustere Anwendung
- Bessere Nachverfolgbarkeit von Fehlern und Systemverhalten

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-06-15 22:45:20 +02:00
parent 7e156099d5
commit 956c24d8ca
552 changed files with 11252 additions and 2424 deletions

View File

@ -77,21 +77,23 @@ def mark_notification_read(notification_id):
try:
db_session = get_db_session()
# Benachrichtigung finden und prüfen ob sie dem aktuellen Benutzer gehört
notification = db_session.query(Notification).filter(
Notification.id == notification_id,
Notification.user_id == current_user.id
).first()
if not notification:
db_session.close()
return jsonify({'error': 'Benachrichtigung nicht gefunden'}), 404
# Als gelesen markieren
notification.is_read = True
notification.read_at = datetime.now()
db_session.commit()
db_session.close()
api_logger.info(f"Benachrichtigung {notification_id} als gelesen markiert")
api_logger.info(f"Benachrichtigung {notification_id} als gelesen markiert von Benutzer {current_user.id}")
return jsonify({
'success': True,
@ -99,8 +101,43 @@ def mark_notification_read(notification_id):
})
except Exception as e:
api_logger.error(f"Fehler beim Markieren der Benachrichtigung: {str(e)}")
return jsonify({'error': 'Fehler beim Markieren der Benachrichtigung'}), 500
api_logger.error(f"Fehler beim Markieren der Benachrichtigung als gelesen: {str(e)}")
return jsonify({'error': 'Fehler beim Markieren als gelesen'}), 500
@api_blueprint.route('/notifications/mark-all-read', methods=['POST'])
@login_required
def mark_all_notifications_read():
"""Markiert alle Benachrichtigungen des Benutzers als gelesen"""
try:
db_session = get_db_session()
# Alle ungelesenen Benachrichtigungen des Benutzers finden
unread_notifications = db_session.query(Notification).filter(
Notification.user_id == current_user.id,
Notification.is_read == False
).all()
# Alle als gelesen markieren
for notification in unread_notifications:
notification.is_read = True
notification.read_at = datetime.now()
db_session.commit()
count = len(unread_notifications)
db_session.close()
api_logger.info(f"{count} Benachrichtigungen als gelesen markiert von Benutzer {current_user.id}")
return jsonify({
'success': True,
'message': f'{count} Benachrichtigungen als gelesen markiert',
'count': count
})
except Exception as e:
api_logger.error(f"Fehler beim Markieren aller Benachrichtigungen als gelesen: {str(e)}")
return jsonify({'error': 'Fehler beim Markieren aller als gelesen'}), 500
@api_blueprint.route('/system/status', methods=['GET'])
@login_required