76 lines
2.4 KiB
Markdown
76 lines
2.4 KiB
Markdown
<!-- titel -->
|
|
Uploads
|
|
----------------------------------------
|
|
<!-- art -->
|
|
kern
|
|
----------------------------------------
|
|
<!-- ziel -->
|
|
Verwaltet temporäre Datei-Uploads im Chat und persistente Batch-Uploads im Admin-Bereich
|
|
----------------------------------------
|
|
<!-- regeln -->
|
|
- Upload-Größenlimit liefert Status 413
|
|
- Admin-Uploads erfordern Editor-Rolle
|
|
- CSRF-Token bei Admin-Upload geprüft
|
|
- Temporäre Uploads werden nach Ablauf gelöscht
|
|
- Batch-Reports als JSON und Markdown verfügbar
|
|
- Upload-Grenzen werden für das Frontend bereitgestellt
|
|
- limits enthält erlaubte Dateitypen, Grenzen pro Sitzung, Dateigröße und Ablaufzeit
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Berechtigungsmodus ändern
|
|
<!-- ziel -->
|
|
Ändert den Berechtigungsmodus eines Chat-Uploads auf einen erlaubten Wert
|
|
<!-- regeln -->
|
|
- PATCH oder POST erforderlich
|
|
- clientId aus Request-Cookie ermittelt
|
|
- authorityMode aus Body gelesen
|
|
- Unbekannter Modus führt zu Fehler
|
|
<!-- testen -->
|
|
- PATCH auf Chat-Upload-Endpunkt mit authorityMode im Body senden
|
|
- Erfolg: status ok und aktualisierter Upload zurück
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Datei hochladen
|
|
<!-- ziel -->
|
|
Speichert eine Datei und gibt den aktuellen Upload-Status zurück
|
|
<!-- regeln -->
|
|
- Nur eine Datei pro Anfrage erlaubt
|
|
- Dateityp und Größe werden geprüft
|
|
- Upload wird mit Client-ID verknüpft
|
|
- Fehler werden als JSON zurückgegeben
|
|
- Größenlimit-Überschreitung liefert Status 413
|
|
<!-- testen -->
|
|
- POST chat-uploads mit Datei im Feld file
|
|
- Antwort enthält status ok und Upload-ID
|
|
- Anfrage ohne Datei gibt Fehler zurück
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Upload entfernen
|
|
<!-- ziel -->
|
|
Entfernt einzelne oder alle Uploads aus der Sitzung
|
|
<!-- regeln -->
|
|
- DELETE entfernt Upload mit ID
|
|
- POST entfernt alle Uploads der Sitzung
|
|
- Unbekannte ID gibt Status missing
|
|
- Antwort enthält aktualisierte Upload-Liste
|
|
<!-- testen -->
|
|
- DELETE auf Upload-ID
|
|
- Status ok in Antwort
|
|
- Upload nicht mehr in Liste
|
|
- POST auf Leeren-Button
|
|
- Uploads-Liste leer
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Uploads auflisten
|
|
<!-- ziel -->
|
|
Zeigt verfügbare Uploads und deren Grenzen an
|
|
<!-- regeln -->
|
|
- Löscht abgelaufene Uploads des Clients
|
|
- Liefert enabled-Flag
|
|
- Liefert Uploads des Clients
|
|
- Liefert alle Grenzen für das Frontend
|
|
<!-- testen -->
|
|
- Anfrage an Chat-Uploads senden
|
|
- JSON-Antwort prüfen
|
|
- enabled, uploads und limits vorhanden
|