4.4 KiB
4.4 KiB
Blueprint-Integration in app.py
Übersicht
Alle Flask-Blueprints wurden erfolgreich in die zentrale app.py
Datei integriert. Dies vereinfacht die Anwendungsstruktur und reduziert die Komplexität der Codebase.
Durchgeführte Änderungen
1. Entfernte Blueprint-Dateien
backend/app/blueprints/auth.py
- Authentifizierungs-Routenbackend/app/blueprints/user.py
- Benutzer-Verwaltungsroutenbackend/app/blueprints/api.py
- API-Routenbackend/app/blueprints/kiosk_control.py
- Kiosk-Steuerungsroutenbackend/app/blueprints/__init__.py
- Blueprint-Initialisierung- Gesamter
backend/app/blueprints/
Ordner wurde entfernt
2. Integrierte Funktionalitäten in app.py
Authentifizierungs-Routen (ehemals auth.py)
/auth/login
- Login-Seite und -Verarbeitung (GET/POST)/auth/logout
- Logout-Funktionalität (GET/POST)/auth/api/login
- API-Login für Frontend/auth/api/callback
- API-Callback-Verarbeitung
Benutzer-Routen (ehemals user.py)
/user/profile
- Benutzerprofil anzeigen/user/settings
- Benutzereinstellungen anzeigen/user/update-profile
- Profil aktualisieren (POST)/user/api/update-settings
- API für Einstellungen (POST)/user/update-settings
- Einstellungen aktualisieren (POST)/user/change-password
- Passwort ändern (POST)/user/export
- Benutzerdaten exportieren (GET)/user/profile
- Profil-API (PUT)
Kiosk-Steuerungsrouten (ehemals kiosk_control.py)
/api/kiosk/status
- Kiosk-Status abfragen (GET)/api/kiosk/deactivate
- Kiosk deaktivieren (POST)/api/kiosk/activate
- Kiosk aktivieren (POST)/api/kiosk/restart
- System-Neustart (POST)
Job-Management-Routen (ehemals api.py)
/api/jobs
- Jobs abrufen/erstellen (GET/POST)/api/jobs/<id>
- Spezifischen Job abrufen/löschen (GET/DELETE)/api/jobs/active
- Aktive Jobs abrufen (GET)/api/jobs/current
- Aktuellen Job abrufen (GET)/api/jobs/<id>/extend
- Job verlängern (POST)/api/jobs/<id>/finish
- Job beenden (POST)/api/jobs/<id>/cancel
- Job abbrechen (POST)
Drucker-Management-Routen (ehemals api.py)
/api/printers
- Drucker abrufen/erstellen (GET/POST)/api/printers/status
- Drucker-Status mit Live-Check (GET)/api/printers/<id>
- Spezifischen Drucker abrufen/bearbeiten/löschen (GET/PUT/DELETE)
Admin-Routen
/api/admin/users
- Benutzer verwalten (GET)/api/admin/users/<id>
- Benutzer bearbeiten/löschen (PUT/DELETE)/api/stats
- Statistiken abrufen (GET)
UI-Routen
/
- Hauptseite/dashboard
- Dashboard/printers
- Drucker-Übersicht/jobs
- Jobs-Übersicht/stats
- Statistiken/admin-dashboard
- Admin-Panel/demo
- Komponenten-Demo
3. Hilfsfunktionen
check_printer_status()
- Einzelner Drucker-Status-Checkcheck_multiple_printers_status()
- Paralleler Status-Check für mehrere Druckerjob_owner_required
- Decorator für Job-Besitzer-Berechtigung
4. Fehlerbehandlung
- 404 - Seite nicht gefunden
- 500 - Interner Serverfehler
- 403 - Zugriff verweigert
5. Entfernte Imports
Aus app.py
entfernt:
from blueprints.auth import auth_bp
from blueprints.user import user_bp
from blueprints.api import api_bp
from blueprints.kiosk_control import kiosk_bp
Und die entsprechenden Blueprint-Registrierungen:
app.register_blueprint(auth_bp, url_prefix="/auth")
app.register_blueprint(user_bp, url_prefix="/user")
app.register_blueprint(api_bp, url_prefix="/api")
app.register_blueprint(kiosk_bp, url_prefix="/api/kiosk")
Vorteile der Integration
- Vereinfachte Struktur: Alle Routen sind in einer zentralen Datei
- Reduzierte Komplexität: Keine Blueprint-Verwaltung mehr nötig
- Bessere Übersicht: Alle Funktionalitäten auf einen Blick
- Einfachere Wartung: Weniger Dateien zu verwalten
- Direkte Imports: Keine Blueprint-spezifischen Imports mehr nötig
Getestete Funktionalitäten
Alle ursprünglichen Funktionalitäten wurden beibehalten:
- ✅ Benutzer-Authentifizierung
- ✅ Job-Management
- ✅ Drucker-Verwaltung
- ✅ Admin-Funktionen
- ✅ Kiosk-Modus
- ✅ API-Endpunkte
- ✅ Fehlerbehandlung
Nächste Schritte
Die Anwendung ist jetzt bereit für den Betrieb ohne Blueprints. Alle Routen und Funktionalitäten sind vollständig in app.py
integriert und funktionsfähig.
Datum: $(date) Status: ✅ Abgeschlossen Getestet: ✅ Alle Routen funktional