From f915dd7fedfe6593515da64ba30e010a23ca710c Mon Sep 17 00:00:00 2001 From: nyne Date: Fri, 16 May 2025 10:25:21 +0800 Subject: [PATCH] refactor storage deletion logic to handle nil storage case --- server/service/file.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/server/service/file.go b/server/service/file.go index 49139a5..e2425b2 100644 --- a/server/service/file.go +++ b/server/service/file.go @@ -333,16 +333,13 @@ func DeleteFile(uid uint, fid string) error { if file.StorageID != nil { iStorage := storage.NewStorage(file.Storage) - if iStorage == nil { - log.Error("failed to find storage: ", err) - return model.NewInternalServerError("failed to find storage") + if iStorage != nil { + if err := iStorage.Delete(file.StorageKey); err != nil { + log.Error("failed to delete file from storage: ", err) + return model.NewInternalServerError("failed to delete file from storage") + } + _ = dao.AddStorageUsage(*file.StorageID, -file.Size) } - - if err := iStorage.Delete(file.StorageKey); err != nil { - log.Error("failed to delete file from storage: ", err) - return model.NewInternalServerError("failed to delete file from storage") - } - _ = dao.AddStorageUsage(*file.StorageID, -file.Size) } if err := dao.DeleteFile(fid); err != nil {