diff --git a/backend/app/FEHLER_BEHOBEN.md b/backend/app/FEHLER_BEHOBEN.md index 13e69e9b..1ec742c5 100644 --- a/backend/app/FEHLER_BEHOBEN.md +++ b/backend/app/FEHLER_BEHOBEN.md @@ -647,4 +647,90 @@ function animateCounter(element, start, end, finalText) { **Vorteile:** - Verbesserte Modularität durch Auslagerung der Drucker-Funktionalität in eigene Blueprint - Umfassende Fehlerbehandlung und Logging -- Kompatibilität mit vorhandenem Frontend \ No newline at end of file +- Kompatibilität mit vorhandenem Frontend + +# Verbesserungen am Dateisystem (2025-05-31) + +## Implementierte Upload-Ordner-Funktionalität + +Alle Upload-Ordner wurden funktional in das System integriert und sind nun über entsprechende API-Endpunkte zugänglich. + +### Implementierte Upload-Ordner + +Folgende Upload-Ordner werden nun vollständig unterstützt: + +| Ordner | Beschreibung | API-Endpunkt | Berechtigung | +|--------|--------------|--------------|--------------| +| jobs | Druckjob-Dateien | /api/upload/job | Angemeldete Benutzer | +| guests | Gastauftrags-Dateien | /api/upload/guest | Öffentlich | +| avatars | Benutzer-Avatare | /api/upload/avatar | Angemeldete Benutzer | +| assets | Statische Assets | /api/upload/asset | Administratoren | +| logs | Exportierte Logs | /api/upload/log | Administratoren | +| backups | Backup-Dateien | /api/upload/backup | Administratoren | +| temp | Temporäre Dateien | /api/upload/temp | Angemeldete Benutzer | + +### Zugriffskontrolle + +Alle hochgeladenen Dateien können über den Endpunkt `/api/files/` abgerufen werden, wobei folgende Zugriffsberechtigungen gelten: + +- **Jobs**: Nur Besitzer und Administratoren +- **Guests**: Nur Administratoren +- **Avatars**: Alle angemeldeten Benutzer +- **Assets**: Nur Administratoren +- **Logs**: Nur Administratoren +- **Backups**: Nur Administratoren +- **Temp**: Nur Besitzer und Administratoren + +### Convenience-Funktionen + +Zur einfachen Verwendung im Code wurden folgende Hilfsfunktionen implementiert: + +```python +# Speichern von Dateien +save_job_file(file, user_id, metadata) +save_guest_file(file, metadata) +save_avatar_file(file, user_id) +save_asset_file(file, user_id, metadata) +save_log_file(file, user_id, metadata) +save_backup_file(file, user_id, metadata) +save_temp_file(file, user_id, metadata) + +# Löschen und Abrufen von Dateien +delete_file(relative_path) +get_file_info(relative_path) +``` + +### Administratorfunktionen + +Administratoren können zusätzlich folgende Funktionen nutzen: + +- **Statistiken abrufen**: `/api/admin/files/stats` +- **Temporäre Dateien aufräumen**: `/api/admin/files/cleanup` + +### Verwendungsbeispiel + +```javascript +// Beispiel: Hochladen einer Job-Datei +async function uploadJobFile(file, jobName) { + const formData = new FormData(); + formData.append('file', file); + formData.append('job_name', jobName); + + const response = await fetch('/api/upload/job', { + method: 'POST', + body: formData, + headers: { + 'X-CSRFToken': csrfToken + } + }); + + return await response.json(); +} +``` + +### Ergebnis +✅ **Alle Upload-Ordner werden nun sachgemäß verwendet** +✅ **Strukturierte Speicherung mit Benutzer-, Jahres- und Monatsverzeichnissen** +✅ **Sicherer Dateizugriff mit vollständiger Zugriffskontrolle** +✅ **Einfache API für Code-Integration** +✅ **Umfassendes Datei-Management mit Statistiken und Aufräumfunktionen** \ No newline at end of file diff --git a/backend/app/aktiviere_drucker.py b/backend/app/aktiviere_drucker.py new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/backend/app/aktiviere_drucker.py @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/backend/app/database/myp.db-shm b/backend/app/database/myp.db-shm index 762cfb11..14d0afe6 100644 Binary files a/backend/app/database/myp.db-shm and b/backend/app/database/myp.db-shm differ diff --git a/backend/app/database/myp.db-wal b/backend/app/database/myp.db-wal index 303c5dbc..d3bce18e 100644 Binary files a/backend/app/database/myp.db-wal and b/backend/app/database/myp.db-wal differ diff --git a/backend/app/image/FEHLER_BEHOBEN/1748551278562.png b/backend/app/image/FEHLER_BEHOBEN/1748551278562.png new file mode 100644 index 00000000..5f195dbc Binary files /dev/null and b/backend/app/image/FEHLER_BEHOBEN/1748551278562.png differ diff --git a/backend/app/image/FEHLER_BEHOBEN/1748551285964.png b/backend/app/image/FEHLER_BEHOBEN/1748551285964.png new file mode 100644 index 00000000..5f195dbc Binary files /dev/null and b/backend/app/image/FEHLER_BEHOBEN/1748551285964.png differ