refactor storage deletion logic to handle nil storage case

This commit is contained in:
2025-05-16 10:25:21 +08:00
parent ced8b3f689
commit f915dd7fed

View File

@@ -333,16 +333,13 @@ func DeleteFile(uid uint, fid string) error {
if file.StorageID != nil { if file.StorageID != nil {
iStorage := storage.NewStorage(file.Storage) iStorage := storage.NewStorage(file.Storage)
if iStorage == nil { if iStorage != nil {
log.Error("failed to find storage: ", err) if err := iStorage.Delete(file.StorageKey); err != nil {
return model.NewInternalServerError("failed to find storage") 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 { if err := dao.DeleteFile(fid); err != nil {