diff --git a/server/web/fileView.go b/server/web/fileView.go index 095b881..245355c 100644 --- a/server/web/fileView.go +++ b/server/web/fileView.go @@ -12,13 +12,17 @@ func FileViewWebHandler(w http.ResponseWriter, r *http.Request) { file, err := database.GetFileByID(r.PathValue("uuid")) if err != nil { slog.Error("Error getting File in FileViewWebHandler", "error", err, "file-uuid", r.PathValue("uuid")) - http.Error(w, err.Error(), http.StatusBadRequest) + if err.Error() == "no rows in result set" { + http.Error(w, err.Error(), http.StatusNotFound) + } else { + http.Error(w, err.Error(), http.StatusBadRequest) + } return } fileProperties, err := database.GetFileProperties(file.ID) if err != nil { slog.Error("Error getting FileProperties in FileViewWebHandler", "error", err, "file-uuid", r.PathValue("uuid")) - http.Error(w, err.Error(), http.StatusBadRequest) + http.Error(w, err.Error(), http.StatusInternalServerError) return } component := FileView(file, fileProperties) @@ -48,9 +52,17 @@ func FileViewMSOWebHandler(w http.ResponseWriter, r *http.Request) { func FileViewDeleteWebHandler(w http.ResponseWriter, r *http.Request) { fileID := r.PathValue("uuid") - err := store.DeleteFile(fileID) + err := database.DeleteFileByID(fileID) if err != nil { slog.Error("Error deleting File in FileViewDeleteHandler", "error", err, "file-uuid", fileID) + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + err = store.DeleteFile(fileID) + if err != nil { + slog.Error("Error deleting File in FileViewDeleteHandler", "error", err, "file-uuid", fileID) + http.Error(w, err.Error(), http.StatusInternalServerError) + return } w.Header().Set("HX-Redirect", "/")