[backend/drive] Check for isLink attribute when handling deletion/expiry for deduplicated files (ISH-334)

This commit is contained in:
Laura Hausmann 2024-05-18 15:53:59 +02:00
parent 9dd34aa7e3
commit adba960f8c
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -66,8 +66,10 @@ public class BackgroundTaskQueue()
if (file == null) return; if (file == null) return;
var deduplicated = file.AccessKey != null && var deduplicated = file.AccessKey != null &&
await db.DriveFiles.AnyAsync(p => p.Id != file.Id && p.AccessKey == file.AccessKey, await db.DriveFiles.AnyAsync(p => p.Id != file.Id &&
token); p.AccessKey == file.AccessKey &&
!p.IsLink,
cancellationToken: token);
if (!deduplicated) if (!deduplicated)
{ {
@ -124,8 +126,10 @@ public class BackgroundTaskQueue()
await db.SaveChangesAsync(token); await db.SaveChangesAsync(token);
if (file.AccessKey == null) return; if (file.AccessKey == null) return;
var deduplicated = await db.DriveFiles.AnyAsync(p => p.Id != file.Id && p.AccessKey == file.AccessKey, var deduplicated =
await db.DriveFiles.AnyAsync(p => p.Id != file.Id && p.AccessKey == file.AccessKey && !p.IsLink,
cancellationToken: token); cancellationToken: token);
if (deduplicated) if (deduplicated)
return; return;