Skip to content

Commit 421e254

Browse files
committed
Merge branch 'master' into guestupload
2 parents f464ecb + 4286d75 commit 421e254

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

internal/storage/FileServing.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,9 @@ func GetFile(id string) (models.File, bool) {
570570
if !ok {
571571
return emptyResult, false
572572
}
573+
if file.IsPendingForDeletion() {
574+
return emptyResult, false
575+
}
573576
if IsExpiredFile(file, time.Now().Unix()) {
574577
return emptyResult, false
575578
}

internal/storage/FileServing_test.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,25 @@ func TestGetFile(t *testing.T) {
6969
_, result = GetFile(file.Id)
7070
test.IsEqualBool(t, result, false)
7171

72+
// Test pending deletion - file should not be retrievable when pending deletion
73+
pendingFile := models.File{
74+
Id: "testpendingdelete",
75+
Name: "testpendingdelete",
76+
SHA1: "e017693e4a04a59d0b0f400fe98177fe7ee13cf7",
77+
UnlimitedDownloads: true,
78+
UnlimitedTime: true,
79+
PendingDeletion: time.Now().Add(time.Hour).Unix(),
80+
}
81+
database.SaveMetaData(pendingFile)
82+
_, result = GetFile(pendingFile.Id)
83+
test.IsEqualBool(t, result, false)
84+
// Clean up - cancel pending deletion to allow normal retrieval
85+
pendingFile.PendingDeletion = 0
86+
database.SaveMetaData(pendingFile)
87+
_, result = GetFile(pendingFile.Id)
88+
test.IsEqualBool(t, result, true)
89+
// Clean up test data
90+
database.DeleteMetaData(pendingFile.Id)
7291
}
7392

7493
func TestGetEncInfoFromExistingFile(t *testing.T) {

0 commit comments

Comments
 (0)