Projektarbeit-MYP/backend/docs/ROUTEN_UEBERSICHT.md

8.0 KiB

Routen-Übersicht - 3D-Druck-Management-System

Vollständige Liste aller verfügbaren Routen und Endpoints

Stand: Juni 2025 - Nach Vollständigkeits-Update


📋 HAUPT-ROUTEN

Startseite und Dashboard

  • GET /index() - Startseite des Systems
  • GET /dashboarddashboard() - Haupt-Dashboard (Login erforderlich)

Umleitungs-Aliase (Deutsche URLs)

  • GET /profile → Weiterleitung zu /user/profile
  • GET /profil → Weiterleitung zu /user/profile
  • GET /settings → Weiterleitung zu /user/settings
  • GET /einstellungen → Weiterleitung zu /user/settings
  • GET /privacyprivacy() - Datenschutzerklärung
  • GET /termsterms() - Nutzungsbedingungen
  • GET /imprintimprint() - Impressum
  • GET /legallegal() - Rechtliche Informationen

🔐 AUTHENTIFIZIERUNG (Auth Blueprint)

Login/Logout

  • GET /auth/login → Login-Seite
  • POST /auth/login → Login-Verarbeitung
  • GET /login → Alias für /auth/login
  • GET,POST /auth/logout → Logout-Verarbeitung

API-Endpoints

  • POST /api/login → API-Login (JSON)

👤 BENUTZER-ROUTEN (User Blueprint)

Profil und Einstellungen

  • GET /user/profile → Benutzer-Profil anzeigen
  • GET /user/settings → Benutzer-Einstellungen
  • POST /user/settings/change-password → Passwort ändern
  • GET /user/settings/export-data → Benutzer-Daten als JSON exportieren

API-Endpoints

  • GET /api/user/<int:user_id> → Benutzer-Details abrufen (API)
  • PUT,POST /api/user/<int:user_id>/update → Benutzer aktualisieren (API)

👥 BENUTZER-VERWALTUNG (Users Blueprint)

Alle Routen über das Users Blueprint verfügbar


🖨️ DRUCKER-VERWALTUNG (Printers Blueprint)

Drucker-Übersicht

  • Alle Drucker-Routen über das Printers Blueprint

Worker-Endpoints

  • GET /workers/fetch-printers → Drucker-Daten für Worker abrufen

📋 JOB-VERWALTUNG (Jobs Blueprint)

Job-Übersicht

  • GET /jobs → Jobs-Übersicht anzeigen
  • GET /jobs/<int:job_id> → Job-Details anzeigen
  • POST,DELETE /jobs/<int:job_id>/delete → Job löschen

Worker-Endpoints

  • POST /workers/auto-optimize → Automatische Job-Optimierung
  • POST /workers/calculate-distance → Entfernung zwischen Standorten berechnen

👨‍💼 ADMIN-ROUTEN (Admin Blueprint + Aliase)

Admin-Hauptseiten

  • GET /admin → Admin-Hauptseite (Alias)
  • GET /admin-dashboard → Admin-Dashboard (Alias)
  • GET /admin/advanced-settings → Erweiterte Einstellungen
  • GET /admin/guest-requests → Gast-Anfragen Verwaltung

Drucker-Verwaltung (Admin)

  • GET /admin/printers/<int:printer_id>/edit → Drucker bearbeiten
  • POST /admin/printers/<int:printer_id>/update → Drucker aktualisieren
  • GET /admin/printers/add → Drucker hinzufügen
  • POST /admin/printers/create → Drucker erstellen

Benutzer-Verwaltung (Admin)

  • GET /admin/users/<int:user_id>/edit → Benutzer bearbeiten
  • POST /admin/users/<int:user_id>/update → Benutzer aktualisieren
  • GET /admin/users/add → Benutzer hinzufügen
  • POST /admin/users/create → Benutzer erstellen

📊 API-ROUTEN (Admin)

Datenbank-Management

  • GET /api/admin/database/status → Datenbank-Status und Statistiken
  • POST /api/optimize-database → Datenbank optimieren (VACUUM, ANALYZE)

Datei-Management

  • POST /api/admin/files/cleanup → Temporäre Dateien bereinigen
  • GET /api/admin/files/stats → Datei-Statistiken abrufen

System-Management

  • POST /api/admin/fix-errors → Automatische Fehlerbehebung
  • GET /api/system-check → System-Gesundheitscheck
  • GET /api/logs → System-Logs abrufen
  • POST /api/create-backup → Backup erstellen

Gast-Anfragen (Admin API)

  • GET /api/admin/guest-requests → Gast-Anfragen abrufen
  • GET /api/admin/guest-requests/export → Gast-Anfragen exportieren
  • GET /api/admin/guest-requests/stats → Gast-Anfragen Statistiken
  • GET /api/admin/guest-requests/test → Test-Endpoint

📈 STATISTIKEN UND MONITORING

Öffentliche APIs

  • GET /api/public/statistics → Öffentliche Statistiken (ohne Login)
  • GET /api/stats → Detaillierte Statistiken (mit Login)

Monitoring und Debug

  • GET /api/routes → Alle verfügbaren Routen auflisten (Admin)
  • GET /api/health/comprehensive → Umfassender Gesundheitscheck
  • GET /api/maintenance/status → Wartungsstatus abrufen
  • GET /api/performance/metrics → Performance-Metriken

🏃‍♂️ OPTIMIERUNGS-ROUTEN

Optimierungs-Algorithmen

  • POST /optimize/apply/load-balance → Load-Balance-Optimierung
  • POST /optimize/apply/priority → Prioritäts-Optimierung
  • POST /optimize/apply/round-robin → Round-Robin-Optimierung
  • POST /optimize/settings/validate → Optimierungseinstellungen validieren

📄 REPORT-GENERIERUNG

Export-Funktionen

  • GET /report/download/csv → Report als CSV herunterladen
  • GET /report/download/excel → Report als Excel herunterladen
  • GET /report/export/zip → Report als ZIP exportieren

🖥️ KIOSK-MODUS

Kiosk-Steuerung

  • POST /kiosk/activate → Kiosk-Modus aktivieren
  • POST /kiosk/deactivate → Kiosk-Modus deaktivieren (Passwort erforderlich)
  • POST /kiosk/restart → System-Neustart (Admin)
  • GET /kiosk/status → Kiosk-Status abrufen

💾 SYSTEM-ROUTEN

System-Verwaltung

  • GET /system/health → System-Gesundheitscheck Seite
  • GET /system/logs → System-Logs Anzeige
  • POST /system/shutdown → System-Shutdown (Notfall)

Datei-Bereitstellung

  • GET /upload/<path:filename> → Hochgeladene Dateien bereitstellen

👥 GAST-ANFRAGEN

Gast-Verwaltung

  • POST /guest-requests/approve/<int:req_id> → Gast-Anfrage genehmigen
  • POST,DELETE /guest-requests/delete/<int:req_id> → Gast-Anfrage löschen

🔗 EXTERNE INTEGRATIONEN

GitHub OAuth (Optional)

  • GET /github/callback → GitHub OAuth Callback

📅 KALENDER-FUNKTIONEN (Calendar Blueprint)

Alle Kalender-Routen über das Calendar Blueprint verfügbar


🎫 GÄSTE-SYSTEM (Guest Blueprint)

Alle Gäste-Routen über das Guest Blueprint verfügbar


🔧 HILFSFUNKTIONEN

Die folgenden Funktionen sind als interne Hilfsfunktionen implementiert:

  • admin_printer_settings_page() - Admin Drucker-Einstellungen
  • setup_session_security() - Session-Sicherheit einrichten
  • check_session_activity() - Session-Aktivität prüfen
  • get_github_user_data() - GitHub-Benutzerdaten abrufen

🛡️ SICHERHEITS-FEATURES

Autorisierung

  • Admin-Only: Routen mit @admin_required Decorator
  • Login erforderlich: Routen mit @login_required Decorator
  • Job-Besitzer: Routen mit @job_owner_required Decorator
  • CSRF-Schutz: Aktiviert für alle Formulare

Rate-Limiting

  • Implementiert über utils.rate_limiter
  • Automatische Bereinigung von Rate-Limit-Daten

📊 MONITORING UND ANALYTICS

Performance-Tracking

  • Ausführungszeit-Messung für kritische Funktionen
  • Request/Response-Logging für API-Endpoints
  • Memory- und CPU-Monitoring (falls psutil verfügbar)

Error-Handling

  • Strukturierte Fehlerbehandlung mit detailliertem Logging
  • CSRF-Error-Handler mit benutzerfreundlichen Meldungen
  • Automatische Fehlerprotokollierung

🔄 HINTERGRUND-PROZESSE

Queue-Manager

  • Automatische Verwaltung von Druckaufträgen
  • Multi-Threading für parallele Verarbeitung

Scheduler

  • Geplante Aufgaben für Wartung und Optimierung
  • Backup-Scheduling

🌐 OFFLINE-MODUS

Das System unterstützt einen Offline-Modus:

  • Deaktiviert Internet-abhängige Features
  • Mock-Implementierung für externe APIs
  • Vollständige Funktionalität ohne Internet-Verbindung

Diese Dokumentation wurde automatisch generiert basierend auf dem aktuellen Zustand der app.py nach dem Vollständigkeits-Update.

Gesamt-Anzahl der Routen: 120+ Endpoints

Für eine live-Übersicht aller Routen verwenden Sie den Admin-Endpoint: GET /api/routes (Admin-Berechtigung erforderlich)