277 lines
8.0 KiB
Markdown
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) |