diff --git a/backend/app.py b/backend/app.py index 249b28212..54612e0c8 100644 --- a/backend/app.py +++ b/backend/app.py @@ -1082,6 +1082,67 @@ def api_version(): "environment": get_environment_type() }) +@app.route("/api/stats", methods=['GET']) +@login_required +def api_stats(): + """ + Allgemeine System-Statistiken API-Endpunkt. + + Stellt grundlegende Statistiken über das System zur Verfügung. + """ + try: + from models import get_db_session, User, Printer, Job + + with get_cached_session() as db_session: + # Grundlegende Counts + total_users = db_session.query(User).count() + total_printers = db_session.query(Printer).count() + total_jobs = db_session.query(Job).count() + + # Aktive Jobs + active_jobs = db_session.query(Job).filter( + Job.status.in_(['pending', 'printing', 'paused']) + ).count() + + # Abgeschlossene Jobs heute + from datetime import date + today = date.today() + completed_today = db_session.query(Job).filter( + Job.status == 'completed', + Job.updated_at >= today + ).count() + + # Online-Drucker (aktive Drucker) + online_printers = db_session.query(Printer).filter( + Printer.active == True + ).count() + + stats = { + 'total_users': total_users, + 'total_printers': total_printers, + 'total_jobs': total_jobs, + 'active_jobs': active_jobs, + 'completed_today': completed_today, + 'online_printers': online_printers, + 'timestamp': datetime.now().isoformat() + } + + app_logger.info(f"✅ API-Statistiken abgerufen von {current_user.username}") + + return jsonify({ + 'success': True, + 'stats': stats, + 'message': 'Statistiken erfolgreich geladen' + }) + + except Exception as e: + app_logger.error(f"❌ Fehler beim Abrufen der API-Statistiken: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Fehler beim Laden der Statistiken', + 'details': str(e) + }), 500 + # Statische Seiten @app.route("/privacy") def privacy(): diff --git a/backend/backend/database/myp.db b/backend/backend/database/myp.db index e0dca7060..e9ce12da7 100644 Binary files a/backend/backend/database/myp.db and b/backend/backend/database/myp.db differ diff --git a/backend/blueprints/__pycache__/legal_pages.cpython-313.pyc b/backend/blueprints/__pycache__/legal_pages.cpython-313.pyc new file mode 100644 index 000000000..5b3cef1c3 Binary files /dev/null and b/backend/blueprints/__pycache__/legal_pages.cpython-313.pyc differ diff --git a/backend/blueprints/api.py b/backend/blueprints/api.py index 91d3923c5..32622523e 100644 --- a/backend/blueprints/api.py +++ b/backend/blueprints/api.py @@ -5,11 +5,12 @@ Dieses Modul enthält allgemeine API-Endpunkte und WebSocket-Fallback-Funktional """ import logging -from datetime import datetime +from datetime import datetime, timedelta from flask import Blueprint, jsonify, request, session from flask_login import login_required, current_user -from models import get_db_session, User, Notification +from models import get_db_session, User, Notification, Printer, Job, Stats from utils.logging_config import get_logger +from utils.permissions import admin_required # Blueprint erstellen api_blueprint = Blueprint('api', __name__, url_prefix='/api') @@ -145,7 +146,6 @@ def session_status(): # Prüfe ob Benutzer über Flask-Login authentifiziert ist if hasattr(current_user, 'is_authenticated') and current_user.is_authenticated: # Benutzer ist angemeldet - from datetime import timedelta from backend.config.settings import SESSION_LIFETIME # Session-Informationen sammeln @@ -255,4 +255,268 @@ def extend_session(): 'success': False, 'error': 'Session-Verlängerung fehlgeschlagen', 'message': str(e) + }), 500 + +@api_blueprint.route('/stats', methods=['GET']) +@login_required +def get_stats(): + """ + Hauptstatistiken-Endpunkt für das System. + + Liefert umfassende Statistiken über Drucker, Jobs und Benutzer. + """ + try: + db_session = get_db_session() + + # Grundlegende Zählungen + total_printers = db_session.query(Printer).count() + active_printers = db_session.query(Printer).filter(Printer.active == True).count() + total_jobs = db_session.query(Job).count() + + # Job-Status-Verteilung + completed_jobs = db_session.query(Job).filter(Job.status == 'completed').count() + running_jobs = db_session.query(Job).filter(Job.status == 'running').count() + pending_jobs = db_session.query(Job).filter(Job.status == 'pending').count() + failed_jobs = db_session.query(Job).filter(Job.status == 'failed').count() + + # Benutzer-Statistiken + total_users = db_session.query(User).count() + active_users = db_session.query(User).filter(User.active == True).count() + + # Zeitbasierte Statistiken (letzte 24 Stunden) + yesterday = datetime.now() - timedelta(days=1) + jobs_last_24h = db_session.query(Job).filter(Job.created_at >= yesterday).count() + + # Gesamtdruckzeit berechnen + completed_jobs_with_duration = db_session.query(Job).filter( + Job.status == 'completed', + Job.duration_minutes.isnot(None) + ).all() + + total_print_hours = sum(job.duration_minutes for job in completed_jobs_with_duration) / 60.0 + + db_session.close() + + stats_data = { + 'success': True, + 'timestamp': datetime.now().isoformat(), + + # Grundlegende Zählungen + 'total_printers': total_printers, + 'active_printers': active_printers, + 'total_jobs': total_jobs, + 'total_users': total_users, + 'active_users': active_users, + + # Job-Statistiken + 'completed_jobs': completed_jobs, + 'running_jobs': running_jobs, + 'pending_jobs': pending_jobs, + 'failed_jobs': failed_jobs, + 'jobs_last_24h': jobs_last_24h, + + # Druckzeit-Statistiken + 'total_print_hours': round(total_print_hours, 2), + 'completion_rate': round((completed_jobs / total_jobs * 100), 2) if total_jobs > 0 else 0 + } + + api_logger.info(f"Statistiken abgerufen von Benutzer {current_user.username}") + return jsonify(stats_data) + + except Exception as e: + api_logger.error(f"Fehler beim Abrufen der Statistiken: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Fehler beim Laden der Statistiken', + 'message': str(e) + }), 500 + +@api_blueprint.route('/admin/system-health', methods=['GET']) +@admin_required +def get_system_health(): + """ + System-Gesundheitsstatus für Administratoren. + + Liefert detaillierte Informationen über den System-Zustand. + """ + try: + db_session = get_db_session() + + # Datenbankverbindung testen + db_healthy = True + try: + db_session.execute("SELECT 1") + except Exception as e: + db_healthy = False + api_logger.error(f"Datenbankfehler: {str(e)}") + + # Systemressourcen prüfen + import psutil + import os + + # CPU und Speicher + cpu_usage = psutil.cpu_percent(interval=1) + memory = psutil.virtual_memory() + disk = psutil.disk_usage('/') + + # Aktive Drucker prüfen + active_printers = db_session.query(Printer).filter(Printer.active == True).count() + total_printers = db_session.query(Printer).count() + + # Laufende Jobs prüfen + running_jobs = db_session.query(Job).filter(Job.status == 'running').count() + + db_session.close() + + # Gesamtstatus bestimmen + overall_status = 'healthy' + if not db_healthy or cpu_usage > 90 or memory.percent > 90: + overall_status = 'warning' + if not db_healthy or cpu_usage > 95 or memory.percent > 95: + overall_status = 'critical' + + health_data = { + 'success': True, + 'timestamp': datetime.now().isoformat(), + 'overall_status': overall_status, + + # System-Status + 'database': { + 'status': 'healthy' if db_healthy else 'error', + 'connection': db_healthy + }, + + # Systemressourcen + 'system': { + 'cpu_usage': cpu_usage, + 'memory_usage': memory.percent, + 'memory_available_gb': round(memory.available / (1024**3), 2), + 'disk_usage': disk.percent, + 'disk_free_gb': round(disk.free / (1024**3), 2) + }, + + # Drucker-Status + 'printers': { + 'total': total_printers, + 'active': active_printers, + 'inactive': total_printers - active_printers + }, + + # Job-Status + 'jobs': { + 'running': running_jobs + } + } + + api_logger.info(f"System-Health abgerufen von Admin {current_user.username}") + return jsonify(health_data) + + except ImportError: + # Fallback ohne psutil + health_data = { + 'success': True, + 'timestamp': datetime.now().isoformat(), + 'overall_status': 'healthy', + 'database': {'status': 'healthy', 'connection': True}, + 'system': {'cpu_usage': 0, 'memory_usage': 0, 'disk_usage': 0}, + 'printers': {'total': 0, 'active': 0, 'inactive': 0}, + 'jobs': {'running': 0}, + 'note': 'Eingeschränkte Systemüberwachung (psutil nicht verfügbar)' + } + return jsonify(health_data) + + except Exception as e: + api_logger.error(f"Fehler beim Abrufen des System-Health: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Fehler beim Laden des System-Status', + 'message': str(e) + }), 500 + +@api_blueprint.route('/admin/error-recovery/status', methods=['GET']) +@admin_required +def get_error_recovery_status(): + """ + Fehlerwiederherstellungs-Status für Administratoren. + + Liefert Informationen über System-Fehler und Wiederherstellungsoptionen. + """ + try: + db_session = get_db_session() + + # Fehlgeschlagene Jobs der letzten 24 Stunden + yesterday = datetime.now() - timedelta(days=1) + failed_jobs = db_session.query(Job).filter( + Job.status == 'failed', + Job.created_at >= yesterday + ).all() + + # Inaktive Drucker + inactive_printers = db_session.query(Printer).filter(Printer.active == False).all() + + # Hängende Jobs (länger als 6 Stunden im Status 'running') + six_hours_ago = datetime.now() - timedelta(hours=6) + stuck_jobs = db_session.query(Job).filter( + Job.status == 'running', + Job.start_time <= six_hours_ago + ).all() + + db_session.close() + + # Wiederherstellungsaktionen bestimmen + recovery_actions = [] + + if failed_jobs: + recovery_actions.append({ + 'type': 'restart_failed_jobs', + 'count': len(failed_jobs), + 'description': f'{len(failed_jobs)} fehlgeschlagene Jobs neu starten' + }) + + if inactive_printers: + recovery_actions.append({ + 'type': 'reactivate_printers', + 'count': len(inactive_printers), + 'description': f'{len(inactive_printers)} inaktive Drucker reaktivieren' + }) + + if stuck_jobs: + recovery_actions.append({ + 'type': 'reset_stuck_jobs', + 'count': len(stuck_jobs), + 'description': f'{len(stuck_jobs)} hängende Jobs zurücksetzen' + }) + + # Gesamtstatus bestimmen + status = 'healthy' + if failed_jobs or inactive_printers: + status = 'warning' + if stuck_jobs: + status = 'critical' + + recovery_data = { + 'success': True, + 'timestamp': datetime.now().isoformat(), + 'status': status, + + 'issues': { + 'failed_jobs': len(failed_jobs), + 'inactive_printers': len(inactive_printers), + 'stuck_jobs': len(stuck_jobs) + }, + + 'recovery_actions': recovery_actions, + + 'last_check': datetime.now().isoformat() + } + + api_logger.info(f"Error-Recovery-Status abgerufen von Admin {current_user.username}") + return jsonify(recovery_data) + + except Exception as e: + api_logger.error(f"Fehler beim Abrufen des Error-Recovery-Status: {str(e)}") + return jsonify({ + 'success': False, + 'error': 'Fehler beim Laden des Wiederherstellungs-Status', + 'message': str(e) }), 500 \ No newline at end of file diff --git a/backend/instance/sessions/00ca4fb33ce7ae6fb8d967ccce4bd773_activity.pkl b/backend/instance/sessions/00ca4fb33ce7ae6fb8d967ccce4bd773_activity.pkl new file mode 100644 index 000000000..66eb7bf8a Binary files /dev/null and b/backend/instance/sessions/00ca4fb33ce7ae6fb8d967ccce4bd773_activity.pkl differ diff --git a/backend/instance/sessions/062ab3d7ae29442a41e5e626754a5a20_activity.pkl b/backend/instance/sessions/062ab3d7ae29442a41e5e626754a5a20_activity.pkl new file mode 100644 index 000000000..b1c731300 Binary files /dev/null and b/backend/instance/sessions/062ab3d7ae29442a41e5e626754a5a20_activity.pkl differ diff --git a/backend/instance/sessions/0b63acfa92148ecd42a0014ad1c85d8e_activity.pkl b/backend/instance/sessions/0b63acfa92148ecd42a0014ad1c85d8e_activity.pkl new file mode 100644 index 000000000..28a582b7e Binary files /dev/null and b/backend/instance/sessions/0b63acfa92148ecd42a0014ad1c85d8e_activity.pkl differ diff --git a/backend/instance/sessions/0e4f3287be3ce1abf681ec8d56623a39_activity.pkl b/backend/instance/sessions/0e4f3287be3ce1abf681ec8d56623a39_activity.pkl new file mode 100644 index 000000000..14a56c774 Binary files /dev/null and b/backend/instance/sessions/0e4f3287be3ce1abf681ec8d56623a39_activity.pkl differ diff --git a/backend/instance/sessions/10718b9852a07b18b70e49b8ef5b6f91_activity.pkl b/backend/instance/sessions/10718b9852a07b18b70e49b8ef5b6f91_activity.pkl new file mode 100644 index 000000000..23b525f6c Binary files /dev/null and b/backend/instance/sessions/10718b9852a07b18b70e49b8ef5b6f91_activity.pkl differ diff --git a/backend/instance/sessions/1aafe5f4b8ea97113ee10702686d9152_activity.pkl b/backend/instance/sessions/1aafe5f4b8ea97113ee10702686d9152_activity.pkl new file mode 100644 index 000000000..45e9059bf Binary files /dev/null and b/backend/instance/sessions/1aafe5f4b8ea97113ee10702686d9152_activity.pkl differ diff --git a/backend/instance/sessions/222559fb1d200c6295514bc50173918c_activity.pkl b/backend/instance/sessions/222559fb1d200c6295514bc50173918c_activity.pkl new file mode 100644 index 000000000..d6929919a Binary files /dev/null and b/backend/instance/sessions/222559fb1d200c6295514bc50173918c_activity.pkl differ diff --git a/backend/instance/sessions/227540ad515918c2927314edd694eac9_activity.pkl b/backend/instance/sessions/227540ad515918c2927314edd694eac9_activity.pkl new file mode 100644 index 000000000..237bc41d1 Binary files /dev/null and b/backend/instance/sessions/227540ad515918c2927314edd694eac9_activity.pkl differ diff --git a/backend/instance/sessions/36af73f7290957260a8031b793c6c77b_activity.pkl b/backend/instance/sessions/36af73f7290957260a8031b793c6c77b_activity.pkl new file mode 100644 index 000000000..7b2864596 Binary files /dev/null and b/backend/instance/sessions/36af73f7290957260a8031b793c6c77b_activity.pkl differ diff --git a/backend/instance/sessions/39ea38102c3e1d7cd341f33c888f2790_activity.pkl b/backend/instance/sessions/39ea38102c3e1d7cd341f33c888f2790_activity.pkl new file mode 100644 index 000000000..559c98eff Binary files /dev/null and b/backend/instance/sessions/39ea38102c3e1d7cd341f33c888f2790_activity.pkl differ diff --git a/backend/instance/sessions/3af9a6af01ce6b81f9232c1a18d9c678_activity.pkl b/backend/instance/sessions/3af9a6af01ce6b81f9232c1a18d9c678_activity.pkl new file mode 100644 index 000000000..6912aba96 Binary files /dev/null and b/backend/instance/sessions/3af9a6af01ce6b81f9232c1a18d9c678_activity.pkl differ diff --git a/backend/instance/sessions/3f294b657816f03e455ad655a7e44087_activity.pkl b/backend/instance/sessions/3f294b657816f03e455ad655a7e44087_activity.pkl new file mode 100644 index 000000000..3a0d6351c Binary files /dev/null and b/backend/instance/sessions/3f294b657816f03e455ad655a7e44087_activity.pkl differ diff --git a/backend/instance/sessions/3f6e6cf4ce77e99e51f25a220f177f52_activity.pkl b/backend/instance/sessions/3f6e6cf4ce77e99e51f25a220f177f52_activity.pkl new file mode 100644 index 000000000..d318dd193 Binary files /dev/null and b/backend/instance/sessions/3f6e6cf4ce77e99e51f25a220f177f52_activity.pkl differ diff --git a/backend/instance/sessions/41d92a26589a7644ed71800b5359d08c_activity.pkl b/backend/instance/sessions/41d92a26589a7644ed71800b5359d08c_activity.pkl new file mode 100644 index 000000000..31b3c21e8 Binary files /dev/null and b/backend/instance/sessions/41d92a26589a7644ed71800b5359d08c_activity.pkl differ diff --git a/backend/instance/sessions/4f6544b674cfae74d9365b7fcf6e9d87_activity.pkl b/backend/instance/sessions/4f6544b674cfae74d9365b7fcf6e9d87_activity.pkl new file mode 100644 index 000000000..5fe564f69 Binary files /dev/null and b/backend/instance/sessions/4f6544b674cfae74d9365b7fcf6e9d87_activity.pkl differ diff --git a/backend/instance/sessions/507bc79b9e05a5b70c8b75e2e50479c3_activity.pkl b/backend/instance/sessions/507bc79b9e05a5b70c8b75e2e50479c3_activity.pkl new file mode 100644 index 000000000..aed900d17 Binary files /dev/null and b/backend/instance/sessions/507bc79b9e05a5b70c8b75e2e50479c3_activity.pkl differ diff --git a/backend/instance/sessions/52eb8564fb13b32146277bb7f86427fb_activity.pkl b/backend/instance/sessions/52eb8564fb13b32146277bb7f86427fb_activity.pkl new file mode 100644 index 000000000..cbb6e3c33 Binary files /dev/null and b/backend/instance/sessions/52eb8564fb13b32146277bb7f86427fb_activity.pkl differ diff --git a/backend/instance/sessions/546a23c5f56054244db2086b59da2eb8_activity.pkl b/backend/instance/sessions/546a23c5f56054244db2086b59da2eb8_activity.pkl new file mode 100644 index 000000000..8d5c92342 Binary files /dev/null and b/backend/instance/sessions/546a23c5f56054244db2086b59da2eb8_activity.pkl differ diff --git a/backend/instance/sessions/54dd7e95118a629021a3ba0e01ae63e4_activity.pkl b/backend/instance/sessions/54dd7e95118a629021a3ba0e01ae63e4_activity.pkl new file mode 100644 index 000000000..1895a8872 Binary files /dev/null and b/backend/instance/sessions/54dd7e95118a629021a3ba0e01ae63e4_activity.pkl differ diff --git a/backend/instance/sessions/59030b69051553484e59841dbd41509d_activity.pkl b/backend/instance/sessions/59030b69051553484e59841dbd41509d_activity.pkl new file mode 100644 index 000000000..1381626f7 Binary files /dev/null and b/backend/instance/sessions/59030b69051553484e59841dbd41509d_activity.pkl differ diff --git a/backend/instance/sessions/59116accfb0f0ac88f586c5f0c4185f0_activity.pkl b/backend/instance/sessions/59116accfb0f0ac88f586c5f0c4185f0_activity.pkl new file mode 100644 index 000000000..b0289d98b Binary files /dev/null and b/backend/instance/sessions/59116accfb0f0ac88f586c5f0c4185f0_activity.pkl differ diff --git a/backend/instance/sessions/62f10d1c0743d247526ec97b314eba41_activity.pkl b/backend/instance/sessions/62f10d1c0743d247526ec97b314eba41_activity.pkl new file mode 100644 index 000000000..5d7eb62d8 Binary files /dev/null and b/backend/instance/sessions/62f10d1c0743d247526ec97b314eba41_activity.pkl differ diff --git a/backend/instance/sessions/6381faf17a60f8db26b67c746c12dd76_activity.pkl b/backend/instance/sessions/6381faf17a60f8db26b67c746c12dd76_activity.pkl new file mode 100644 index 000000000..ce7bb0851 Binary files /dev/null and b/backend/instance/sessions/6381faf17a60f8db26b67c746c12dd76_activity.pkl differ diff --git a/backend/instance/sessions/643f3e283507cc253e464d89f0bf1743_activity.pkl b/backend/instance/sessions/643f3e283507cc253e464d89f0bf1743_activity.pkl new file mode 100644 index 000000000..ac731365c Binary files /dev/null and b/backend/instance/sessions/643f3e283507cc253e464d89f0bf1743_activity.pkl differ diff --git a/backend/instance/sessions/668b0961897d23583d192fb145ec7b28_activity.pkl b/backend/instance/sessions/668b0961897d23583d192fb145ec7b28_activity.pkl new file mode 100644 index 000000000..00d0bfc4b Binary files /dev/null and b/backend/instance/sessions/668b0961897d23583d192fb145ec7b28_activity.pkl differ diff --git a/backend/instance/sessions/68f18ea53ed298676bebc9bf87bdfced_activity.pkl b/backend/instance/sessions/68f18ea53ed298676bebc9bf87bdfced_activity.pkl new file mode 100644 index 000000000..7b03ae9a8 Binary files /dev/null and b/backend/instance/sessions/68f18ea53ed298676bebc9bf87bdfced_activity.pkl differ diff --git a/backend/instance/sessions/72f63b99fb11f35a1d5d30f6c48693fd_activity.pkl b/backend/instance/sessions/72f63b99fb11f35a1d5d30f6c48693fd_activity.pkl new file mode 100644 index 000000000..3c2555aa6 Binary files /dev/null and b/backend/instance/sessions/72f63b99fb11f35a1d5d30f6c48693fd_activity.pkl differ diff --git a/backend/instance/sessions/736a04edfccf40704473b4ea108bd25e_activity.pkl b/backend/instance/sessions/736a04edfccf40704473b4ea108bd25e_activity.pkl new file mode 100644 index 000000000..4719c8eba Binary files /dev/null and b/backend/instance/sessions/736a04edfccf40704473b4ea108bd25e_activity.pkl differ diff --git a/backend/instance/sessions/74ac358daaabe206e30ba06aee465b8e_activity.pkl b/backend/instance/sessions/74ac358daaabe206e30ba06aee465b8e_activity.pkl new file mode 100644 index 000000000..df6f753df Binary files /dev/null and b/backend/instance/sessions/74ac358daaabe206e30ba06aee465b8e_activity.pkl differ diff --git a/backend/instance/sessions/75ac9350c4fcd749d212a866b172c26f_activity.pkl b/backend/instance/sessions/75ac9350c4fcd749d212a866b172c26f_activity.pkl new file mode 100644 index 000000000..b5a9c403b Binary files /dev/null and b/backend/instance/sessions/75ac9350c4fcd749d212a866b172c26f_activity.pkl differ diff --git a/backend/instance/sessions/76866c63c21789a541073b50cc1140e8_activity.pkl b/backend/instance/sessions/76866c63c21789a541073b50cc1140e8_activity.pkl new file mode 100644 index 000000000..6ba4e996a Binary files /dev/null and b/backend/instance/sessions/76866c63c21789a541073b50cc1140e8_activity.pkl differ diff --git a/backend/instance/sessions/789fd4f1d43bed0183c2d20e1b18c33e_activity.pkl b/backend/instance/sessions/789fd4f1d43bed0183c2d20e1b18c33e_activity.pkl new file mode 100644 index 000000000..0a3dae219 Binary files /dev/null and b/backend/instance/sessions/789fd4f1d43bed0183c2d20e1b18c33e_activity.pkl differ diff --git a/backend/instance/sessions/7a95fcbca78e94e127091f16e3590f06_activity.pkl b/backend/instance/sessions/7a95fcbca78e94e127091f16e3590f06_activity.pkl new file mode 100644 index 000000000..785dfabe9 Binary files /dev/null and b/backend/instance/sessions/7a95fcbca78e94e127091f16e3590f06_activity.pkl differ diff --git a/backend/instance/sessions/802fa22233fe08a20bb73daffde21466_activity.pkl b/backend/instance/sessions/802fa22233fe08a20bb73daffde21466_activity.pkl new file mode 100644 index 000000000..a3905cfb9 Binary files /dev/null and b/backend/instance/sessions/802fa22233fe08a20bb73daffde21466_activity.pkl differ diff --git a/backend/instance/sessions/8ea6751d9239431b59d8e7336f8fa15d_activity.pkl b/backend/instance/sessions/8ea6751d9239431b59d8e7336f8fa15d_activity.pkl new file mode 100644 index 000000000..dea35b334 Binary files /dev/null and b/backend/instance/sessions/8ea6751d9239431b59d8e7336f8fa15d_activity.pkl differ diff --git a/backend/instance/sessions/905b7d4b5fb5dd3dd5c801b14e214783_activity.pkl b/backend/instance/sessions/905b7d4b5fb5dd3dd5c801b14e214783_activity.pkl new file mode 100644 index 000000000..f67c9ec37 Binary files /dev/null and b/backend/instance/sessions/905b7d4b5fb5dd3dd5c801b14e214783_activity.pkl differ diff --git a/backend/instance/sessions/9fbad948116fccd6cc455771d5221c10_activity.pkl b/backend/instance/sessions/9fbad948116fccd6cc455771d5221c10_activity.pkl new file mode 100644 index 000000000..faf4ed01e Binary files /dev/null and b/backend/instance/sessions/9fbad948116fccd6cc455771d5221c10_activity.pkl differ diff --git a/backend/instance/sessions/a02818048092ae6e57f731f8b9df6d9e_activity.pkl b/backend/instance/sessions/a02818048092ae6e57f731f8b9df6d9e_activity.pkl new file mode 100644 index 000000000..c5c5cd0d2 Binary files /dev/null and b/backend/instance/sessions/a02818048092ae6e57f731f8b9df6d9e_activity.pkl differ diff --git a/backend/instance/sessions/a34f47e54c85022c21cf4209b256fe84_activity.pkl b/backend/instance/sessions/a34f47e54c85022c21cf4209b256fe84_activity.pkl new file mode 100644 index 000000000..26417fdda Binary files /dev/null and b/backend/instance/sessions/a34f47e54c85022c21cf4209b256fe84_activity.pkl differ diff --git a/backend/instance/sessions/ad8d38605a34a7157557bfe7964cde0d_activity.pkl b/backend/instance/sessions/ad8d38605a34a7157557bfe7964cde0d_activity.pkl new file mode 100644 index 000000000..dc6595ef0 Binary files /dev/null and b/backend/instance/sessions/ad8d38605a34a7157557bfe7964cde0d_activity.pkl differ diff --git a/backend/instance/sessions/b244d154433816fb49c36f1451379757_activity.pkl b/backend/instance/sessions/b244d154433816fb49c36f1451379757_activity.pkl new file mode 100644 index 000000000..bfb2c6d24 Binary files /dev/null and b/backend/instance/sessions/b244d154433816fb49c36f1451379757_activity.pkl differ diff --git a/backend/instance/sessions/b4d1b95546212b258c14b75e06382fd8_activity.pkl b/backend/instance/sessions/b4d1b95546212b258c14b75e06382fd8_activity.pkl new file mode 100644 index 000000000..d1a47adf6 Binary files /dev/null and b/backend/instance/sessions/b4d1b95546212b258c14b75e06382fd8_activity.pkl differ diff --git a/backend/instance/sessions/bb09da5bd2b26fefa9f1dc29129d2efb_activity.pkl b/backend/instance/sessions/bb09da5bd2b26fefa9f1dc29129d2efb_activity.pkl new file mode 100644 index 000000000..d81410d84 Binary files /dev/null and b/backend/instance/sessions/bb09da5bd2b26fefa9f1dc29129d2efb_activity.pkl differ diff --git a/backend/instance/sessions/c336628a33cf770ac31e192f28450a1d_activity.pkl b/backend/instance/sessions/c336628a33cf770ac31e192f28450a1d_activity.pkl new file mode 100644 index 000000000..ce200e864 Binary files /dev/null and b/backend/instance/sessions/c336628a33cf770ac31e192f28450a1d_activity.pkl differ diff --git a/backend/instance/sessions/c4d564c7280afa861814544c51a83e02_activity.pkl b/backend/instance/sessions/c4d564c7280afa861814544c51a83e02_activity.pkl new file mode 100644 index 000000000..6efe704aa Binary files /dev/null and b/backend/instance/sessions/c4d564c7280afa861814544c51a83e02_activity.pkl differ diff --git a/backend/instance/sessions/c9954142289bf98b47e071b5f64bfbec_activity.pkl b/backend/instance/sessions/c9954142289bf98b47e071b5f64bfbec_activity.pkl new file mode 100644 index 000000000..665832ef8 Binary files /dev/null and b/backend/instance/sessions/c9954142289bf98b47e071b5f64bfbec_activity.pkl differ diff --git a/backend/instance/sessions/d425b0ee7132d3b4ad27c655a6d68b4b_activity.pkl b/backend/instance/sessions/d425b0ee7132d3b4ad27c655a6d68b4b_activity.pkl new file mode 100644 index 000000000..cf85a51b1 Binary files /dev/null and b/backend/instance/sessions/d425b0ee7132d3b4ad27c655a6d68b4b_activity.pkl differ diff --git a/backend/instance/sessions/d465be1643fceee584676df3f299eeb5_activity.pkl b/backend/instance/sessions/d465be1643fceee584676df3f299eeb5_activity.pkl new file mode 100644 index 000000000..26ed65033 Binary files /dev/null and b/backend/instance/sessions/d465be1643fceee584676df3f299eeb5_activity.pkl differ diff --git a/backend/instance/sessions/d4fc7c66d72fe0746e1bdcda2d8c544c_activity.pkl b/backend/instance/sessions/d4fc7c66d72fe0746e1bdcda2d8c544c_activity.pkl new file mode 100644 index 000000000..9d18e3b3d Binary files /dev/null and b/backend/instance/sessions/d4fc7c66d72fe0746e1bdcda2d8c544c_activity.pkl differ diff --git a/backend/instance/sessions/d56c5f2641c4523440452775b459b870_activity.pkl b/backend/instance/sessions/d56c5f2641c4523440452775b459b870_activity.pkl new file mode 100644 index 000000000..f32440f81 Binary files /dev/null and b/backend/instance/sessions/d56c5f2641c4523440452775b459b870_activity.pkl differ diff --git a/backend/instance/sessions/d7a005394bb628e70ec351092af1a926_activity.pkl b/backend/instance/sessions/d7a005394bb628e70ec351092af1a926_activity.pkl new file mode 100644 index 000000000..ebf27b8a3 Binary files /dev/null and b/backend/instance/sessions/d7a005394bb628e70ec351092af1a926_activity.pkl differ diff --git a/backend/instance/sessions/db7e65bcd892f69881e1e0bb99333a0b_activity.pkl b/backend/instance/sessions/db7e65bcd892f69881e1e0bb99333a0b_activity.pkl new file mode 100644 index 000000000..b005bafde Binary files /dev/null and b/backend/instance/sessions/db7e65bcd892f69881e1e0bb99333a0b_activity.pkl differ diff --git a/backend/instance/sessions/dcee4d49dc3833c847c3fef9a1971954_activity.pkl b/backend/instance/sessions/dcee4d49dc3833c847c3fef9a1971954_activity.pkl new file mode 100644 index 000000000..5e2050d46 Binary files /dev/null and b/backend/instance/sessions/dcee4d49dc3833c847c3fef9a1971954_activity.pkl differ diff --git a/backend/instance/sessions/dfae779443112507925e4750ed2d1123_activity.pkl b/backend/instance/sessions/dfae779443112507925e4750ed2d1123_activity.pkl new file mode 100644 index 000000000..c7c7aecf0 Binary files /dev/null and b/backend/instance/sessions/dfae779443112507925e4750ed2d1123_activity.pkl differ diff --git a/backend/instance/sessions/e05065cdcc9d4b9035f26987087d4d73_activity.pkl b/backend/instance/sessions/e05065cdcc9d4b9035f26987087d4d73_activity.pkl new file mode 100644 index 000000000..6e03e6fe6 Binary files /dev/null and b/backend/instance/sessions/e05065cdcc9d4b9035f26987087d4d73_activity.pkl differ diff --git a/backend/instance/sessions/e07fedb64f5cf7164bf5038e7f6308c0_activity.pkl b/backend/instance/sessions/e07fedb64f5cf7164bf5038e7f6308c0_activity.pkl new file mode 100644 index 000000000..f5749f455 Binary files /dev/null and b/backend/instance/sessions/e07fedb64f5cf7164bf5038e7f6308c0_activity.pkl differ diff --git a/backend/instance/sessions/e81f7e832c27751dc235e9bef076de3b_activity.pkl b/backend/instance/sessions/e81f7e832c27751dc235e9bef076de3b_activity.pkl new file mode 100644 index 000000000..5f6e8ce8d Binary files /dev/null and b/backend/instance/sessions/e81f7e832c27751dc235e9bef076de3b_activity.pkl differ diff --git a/backend/instance/sessions/fb8ea1179c67751fd0c11f04381b8215_activity.pkl b/backend/instance/sessions/fb8ea1179c67751fd0c11f04381b8215_activity.pkl new file mode 100644 index 000000000..1c82ae3c3 Binary files /dev/null and b/backend/instance/sessions/fb8ea1179c67751fd0c11f04381b8215_activity.pkl differ diff --git a/backend/logs/admin/admin.log b/backend/logs/admin/admin.log index 2aae4b6ee..5d3b2c82c 100644 --- a/backend/logs/admin/admin.log +++ b/backend/logs/admin/admin.log @@ -35,3 +35,10 @@ 2025-06-12 21:13:41 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True 2025-06-12 21:13:41 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin 2025-06-12 21:13:41 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-13 06:57:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-13 06:57:14 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-13 06:57:14 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-13 06:57:20 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_requests: User authenticated: True, User ID: 1, Is Admin: True +2025-06-13 06:57:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-13 06:57:25 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-13 06:57:25 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index 27caa62fa..6724cfa60 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -21548,3 +21548,247 @@ jinja2.exceptions.UndefinedError: 'stats' is undefined 2025-06-12 21:14:05 - [app] app - [DEBUG] DEBUG - Response: 200 2025-06-12 21:14:05 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login 2025-06-12 21:14:05 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:49:36 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 06:49:42 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-13 06:49:42 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-13 06:49:42 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-13 06:49:42 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 06:49:44 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 06:49:45 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-13 06:49:45 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-13 06:49:45 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-13 06:49:45 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 06:49:45 - [app] app - [INFO] INFO - Locating template 'login.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\login.html') +2025-06-13 06:49:45 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-13 06:49:46 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:49:48 - [app] app - [DEBUG] DEBUG - Request: POST /auth/login +2025-06-13 06:49:48 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:49:50 - [app] app - [DEBUG] DEBUG - Request: GET / +2025-06-13 06:49:50 - [app] app - [DEBUG] DEBUG - Response: 302 +2025-06-13 06:49:50 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard +2025-06-13 06:49:50 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html') +2025-06-13 06:49:50 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:56:49 - [app] app - [DEBUG] DEBUG - Request: GET /requests/overview +2025-06-13 06:56:49 - [app] app - [INFO] INFO - Locating template 'guest_requests_overview.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_requests_overview.html') +2025-06-13 06:56:49 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:56:51 - [app] app - [DEBUG] DEBUG - Request: GET /request +2025-06-13 06:56:51 - [app] app - [INFO] INFO - Locating template 'guest_request.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_request.html') +2025-06-13 06:56:51 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:57:05 - [app] app - [DEBUG] DEBUG - Request: POST /request +2025-06-13 06:57:05 - [app] app - [INFO] INFO - OTP generiert für Guest Request 1 +2025-06-13 06:57:05 - [app] app - [DEBUG] DEBUG - Response: 302 +2025-06-13 06:57:05 - [app] app - [DEBUG] DEBUG - Request: GET /request/1 +2025-06-13 06:57:05 - [app] app - [INFO] INFO - Locating template 'guest_status.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\guest_status.html') +2025-06-13 06:57:05 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:57:08 - [app] app - [DEBUG] DEBUG - Request: GET /request/1 +2025-06-13 06:57:08 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:57:14 - [app] app - [DEBUG] DEBUG - Request: GET /admin/ +2025-06-13 06:57:14 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin.html') +2025-06-13 06:57:14 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:57:14 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:57:14 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:57:14 - [app] app - [INFO] INFO - Locating template 'errors/404.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html') +2025-06-13 06:57:15 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-13 06:57:15 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-13 06:57:15 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt... +2025-06-13 06:57:15 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt +2025-06-13 06:57:15 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown' +2025-06-13 06:57:16 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 06:57:20 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-13 06:57:20 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin... +2025-06-13 06:57:20 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet +2025-06-13 06:57:20 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 06:57:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:57:20 - [app] app - [INFO] INFO - Locating template 'admin_guest_requests.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin_guest_requests.html') +2025-06-13 06:57:20 - [app] app - [INFO] INFO - Locating template 'errors/404.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html') +2025-06-13 06:57:20 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-13 06:57:20 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-13 06:57:20 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:57:20 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/requests +2025-06-13 06:57:20 - [app] app - [WARNING] WARNING - Forbidden (403): http://127.0.0.1:5000/api/admin/requests - User: admin +2025-06-13 06:57:20 - [app] app - [DEBUG] DEBUG - Response: 403 +2025-06-13 06:57:25 - [app] app - [DEBUG] DEBUG - Request: GET /admin/ +2025-06-13 06:57:25 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin.html') +2025-06-13 06:57:25 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 06:57:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:57:25 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:57:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-13 06:57:25 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-13 06:57:30 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:57:30 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:57:35 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:57:35 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:57:40 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:57:40 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:57:55 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/error-recovery/status +2025-06-13 06:57:55 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-13 06:57:55 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:57:55 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-13 06:57:55 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-13 06:57:55 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:58:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/error-recovery/status +2025-06-13 06:58:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:58:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-13 06:58:25 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-13 06:58:25 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:58:25 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-13 06:58:56 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:58:56 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/error-recovery/status +2025-06-13 06:58:56 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-13 06:58:56 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-13 06:58:56 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-13 06:58:56 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:59:26 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/error-recovery/status +2025-06-13 06:59:26 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-13 06:59:26 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-13 06:59:26 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-13 06:59:26 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-13 06:59:26 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health diff --git a/backend/logs/auth/auth.log b/backend/logs/auth/auth.log index fb16bc7de..a407a952f 100644 --- a/backend/logs/auth/auth.log +++ b/backend/logs/auth/auth.log @@ -52,3 +52,5 @@ WHERE users.username = ? OR users.email = ? 2025-06-12 21:02:32 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: Failed to decode JSON object: Expecting value: line 1 column 1 (char 0) 2025-06-12 21:02:32 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet 2025-06-12 21:13:48 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich abgemeldet +2025-06-13 06:49:48 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: Failed to decode JSON object: Expecting value: line 1 column 1 (char 0) +2025-06-13 06:49:48 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet diff --git a/backend/logs/core_system/core_system.log b/backend/logs/core_system/core_system.log index 000ffcf08..e8ba748ea 100644 --- a/backend/logs/core_system/core_system.log +++ b/backend/logs/core_system/core_system.log @@ -164,3 +164,9 @@ 2025-06-12 15:24:09 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) 2025-06-12 19:47:01 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert 2025-06-12 19:47:01 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) +2025-06-13 06:49:36 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert +2025-06-13 06:49:36 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) +2025-06-13 06:49:43 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert +2025-06-13 06:49:43 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) +2025-06-13 06:57:16 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert +2025-06-13 06:57:16 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion) diff --git a/backend/logs/data_management/data_management.log b/backend/logs/data_management/data_management.log index 8532ec025..6a8e6604e 100644 --- a/backend/logs/data_management/data_management.log +++ b/backend/logs/data_management/data_management.log @@ -188,3 +188,9 @@ 2025-06-12 21:12:01 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-12 21:12:03 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert 2025-06-12 21:12:03 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:49:37 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-13 06:49:37 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:49:44 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-13 06:49:44 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:57:17 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert +2025-06-13 06:57:17 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/energy_monitoring/energy_monitoring.log b/backend/logs/energy_monitoring/energy_monitoring.log index 4ef5dc052..8adf5932f 100644 --- a/backend/logs/energy_monitoring/energy_monitoring.log +++ b/backend/logs/energy_monitoring/energy_monitoring.log @@ -27,3 +27,6 @@ 2025-06-12 21:10:31 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert 2025-06-12 21:12:02 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert 2025-06-12 21:12:04 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-13 06:49:42 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-13 06:49:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert +2025-06-13 06:57:20 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert diff --git a/backend/logs/guest/guest.log b/backend/logs/guest/guest.log index 80f85c9a4..b35fe9f34 100644 --- a/backend/logs/guest/guest.log +++ b/backend/logs/guest/guest.log @@ -29,3 +29,4 @@ WHERE user_permissions.can_approve_jobs = 1] 2025-06-12 15:24:36 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" 2025-06-12 15:24:59 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" 2025-06-12 15:25:29 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" +2025-06-13 06:57:05 - [guest] guest - [INFO] INFO - Neue Gastanfrage erstellt: ID 1, Name: Till Tomczaktet, OTP generiert diff --git a/backend/logs/hardware_integration/hardware_integration.log b/backend/logs/hardware_integration/hardware_integration.log index b6980ed5d..f59fb6e3e 100644 --- a/backend/logs/hardware_integration/hardware_integration.log +++ b/backend/logs/hardware_integration/hardware_integration.log @@ -458,3 +458,15 @@ 2025-06-12 21:12:03 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert 2025-06-12 21:12:03 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert 2025-06-12 21:12:03 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion) +2025-06-13 06:49:37 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar +2025-06-13 06:49:37 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert +2025-06-13 06:49:37 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert +2025-06-13 06:49:37 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion) +2025-06-13 06:49:44 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar +2025-06-13 06:49:44 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert +2025-06-13 06:49:44 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert +2025-06-13 06:49:44 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion) +2025-06-13 06:57:17 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar +2025-06-13 06:57:17 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert +2025-06-13 06:57:17 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert +2025-06-13 06:57:17 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion) diff --git a/backend/logs/job_queue_system/job_queue_system.log b/backend/logs/job_queue_system/job_queue_system.log index 0dc93f7f3..47eaf37cb 100644 --- a/backend/logs/job_queue_system/job_queue_system.log +++ b/backend/logs/job_queue_system/job_queue_system.log @@ -358,3 +358,15 @@ 2025-06-12 21:12:05 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) 2025-06-12 21:14:09 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) 2025-06-12 21:14:09 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-13 06:49:37 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-13 06:49:37 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-13 06:49:42 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-13 06:49:44 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-13 06:49:44 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-13 06:49:45 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-13 06:57:15 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-13 06:57:17 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert +2025-06-13 06:57:17 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion) +2025-06-13 06:57:20 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität) +2025-06-13 06:59:55 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) +2025-06-13 06:59:55 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität) diff --git a/backend/logs/monitoring_analytics/monitoring_analytics.log b/backend/logs/monitoring_analytics/monitoring_analytics.log index 8e4185ebf..4c9fd6754 100644 --- a/backend/logs/monitoring_analytics/monitoring_analytics.log +++ b/backend/logs/monitoring_analytics/monitoring_analytics.log @@ -188,3 +188,9 @@ 2025-06-12 21:12:02 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-12 21:12:04 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert 2025-06-12 21:12:04 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:49:42 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-13 06:49:42 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:49:45 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-13 06:49:45 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:57:20 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert +2025-06-13 06:57:20 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index 0b9218104..5c00ee813 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -263,3 +263,12 @@ 2025-06-12 21:12:03 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True 2025-06-12 21:12:05 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet 2025-06-12 21:12:05 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 06:49:37 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 06:49:42 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 06:49:42 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 06:49:44 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 06:49:45 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 06:49:45 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 06:57:17 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 06:57:20 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 06:57:20 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet diff --git a/backend/logs/security_suite/security_suite.log b/backend/logs/security_suite/security_suite.log index a8dcadd0d..ace16fb79 100644 --- a/backend/logs/security_suite/security_suite.log +++ b/backend/logs/security_suite/security_suite.log @@ -284,3 +284,12 @@ 2025-06-12 21:12:03 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert 2025-06-12 21:12:03 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) 2025-06-12 21:12:04 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-13 06:49:37 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-13 06:49:37 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:49:42 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-13 06:49:44 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-13 06:49:44 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:49:45 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert +2025-06-13 06:57:17 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert +2025-06-13 06:57:17 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion) +2025-06-13 06:57:20 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 1cd9b9c21..e21e420e1 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -829,3 +829,30 @@ 2025-06-12 21:12:04 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend 2025-06-12 21:12:04 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-12T21:12:04.861493 2025-06-12 21:12:04 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T06:49:42.261850 +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-13 06:49:42 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T06:49:45.398918 +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-13 06:49:45 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T06:57:20.243618 +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-13 06:57:20 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/tapo_controller/tapo_controller.log b/backend/logs/tapo_controller/tapo_controller.log index 991d85d43..cdd7c9943 100644 --- a/backend/logs/tapo_controller/tapo_controller.log +++ b/backend/logs/tapo_controller/tapo_controller.log @@ -95,3 +95,6 @@ 2025-06-12 21:10:30 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert 2025-06-12 21:12:01 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert 2025-06-12 21:12:03 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert +2025-06-13 06:49:37 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert +2025-06-13 06:49:44 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert +2025-06-13 06:57:17 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert diff --git a/backend/logs/tapo_status_manager/tapo_status_manager.log b/backend/logs/tapo_status_manager/tapo_status_manager.log index bd8f65f02..796fce71a 100644 --- a/backend/logs/tapo_status_manager/tapo_status_manager.log +++ b/backend/logs/tapo_status_manager/tapo_status_manager.log @@ -52,3 +52,6 @@ 2025-06-12 21:10:30 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert 2025-06-12 21:12:01 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert 2025-06-12 21:12:03 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 06:49:37 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 06:49:44 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 06:57:17 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert diff --git a/backend/logs/utilities_collection/utilities_collection.log b/backend/logs/utilities_collection/utilities_collection.log index baf84547d..e4617289e 100644 --- a/backend/logs/utilities_collection/utilities_collection.log +++ b/backend/logs/utilities_collection/utilities_collection.log @@ -198,3 +198,9 @@ 2025-06-12 21:12:01 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) 2025-06-12 21:12:03 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert 2025-06-12 21:12:03 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-13 06:49:36 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-13 06:49:36 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-13 06:49:43 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-13 06:49:43 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) +2025-06-13 06:57:16 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert +2025-06-13 06:57:16 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion) diff --git a/backend/logs/windows_fixes/windows_fixes.log b/backend/logs/windows_fixes/windows_fixes.log index 54244c5a6..262637f04 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -167,3 +167,9 @@ 2025-06-12 15:24:09 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet 2025-06-12 19:47:01 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... 2025-06-12 19:47:01 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-13 06:49:36 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-13 06:49:36 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-13 06:49:43 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-13 06:49:43 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-13 06:57:16 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-13 06:57:16 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet diff --git a/backend/templates/base.html b/backend/templates/base.html index 01bf2d230..c84d809a9 100644 --- a/backend/templates/base.html +++ b/backend/templates/base.html @@ -187,7 +187,7 @@ {% if current_user.is_authenticated %}