fix(trash): Vorschaubilder auch im Papierkorb ausliefern
GetThumbnail schlug die Datei mit is_deleted = false nach – im Papierkorb also 404, und dort stand für jedes Bild nur ein graues Quadrat. Man entschied über "endgültig löschen", ohne zu sehen, was es war. Schlägt der erste Griff fehl, wird jetzt im Papierkorb nachgesehen. Das Vorschaubild überlebt das weiche Löschen ohnehin: Entfernt wird es erst beim endgültigen Löschen, und der GC zählt es bis dahin als benutzt. Geprüft gegen die laufende Instanz: Bild hochladen, löschen, Vorschaubild abrufen -> 200, image/jpeg, 64x64. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
451f359734
commit
105b1a0e74
1 file changed
+7
@@ -715,6 +715,13 @@ func (h *Handler) GetThumbnail(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
f, err := h.store.GetFile(r.Context(), id, owner.OwnerID)
|
||||
if errors.Is(err, ErrNotFound) {
|
||||
// Auch aus dem Papierkorb ausliefern. Das Vorschaubild überlebt das
|
||||
// weiche Löschen (entfernt wird es erst beim endgültigen), und ohne
|
||||
// diesen zweiten Griff stünde dort nur ein graues Quadrat – man
|
||||
// entschiede über „endgültig löschen", ohne zu sehen, was es war.
|
||||
f, err = h.store.GetTrashedFile(r.Context(), id, owner.OwnerID)
|
||||
}
|
||||
if errors.Is(err, ErrNotFound) {
|
||||
response.Error(w, http.StatusNotFound, "file not found")
|
||||
return
|
||||
|
||||
Reference in new issue
Block a user