Projektarbeit-MYP/backend/docs/ROUTEN_UEBERSICHT.md

277 lines
8.0 KiB
Markdown

# 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 /dashboard``dashboard()` - 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`
### Legal-Seiten
- `GET /privacy``privacy()` - Datenschutzerklärung
- `GET /terms``terms()` - Nutzungsbedingungen
- `GET /imprint``imprint()` - Impressum
- `GET /legal``legal()` - 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)