"feat: Implement printer activation logic in backend/app/aktiviere_drucker.py"

This commit is contained in:
Till Tomczak 2025-05-29 22:42:42 +02:00
parent 4634dd8abe
commit 4984092ab6
6 changed files with 88 additions and 1 deletions

View File

@ -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
- 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/<pfad>` 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**

View File

@ -0,0 +1 @@

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB