[backend/drive] Don't attempt to clone remote files, improve deduplication handling

This commit is contained in:
Laura Hausmann 2024-07-27 16:04:02 +02:00
parent e17cd0ac33
commit 828b742a3f
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -38,7 +38,7 @@ public class DriveService(
// Do we already have the file? // Do we already have the file?
DriveFile? file = null; DriveFile? file = null;
if (!forceStore) if (!forceStore)
file = await db.DriveFiles.FirstOrDefaultAsync(p => p.Uri == uri); file = await db.DriveFiles.FirstOrDefaultAsync(p => p.Uri == uri && (!p.IsLink || p.UserId == user.Id));
if (file != null) if (file != null)
{ {
@ -179,8 +179,8 @@ public class DriveService(
var digest = await DigestHelpers.Sha256DigestAsync(data); var digest = await DigestHelpers.Sha256DigestAsync(data);
logger.LogDebug("Storing file {digest} for user {userId}", digest, user.Id); logger.LogDebug("Storing file {digest} for user {userId}", digest, user.Id);
file = await db.DriveFiles.FirstOrDefaultAsync(p => p.Sha256 == digest); file = await db.DriveFiles.FirstOrDefaultAsync(p => p.Sha256 == digest && (!p.IsLink || p.UserId == user.Id));
if (file is { IsLink: false }) if (file != null)
{ {
if (file.UserId == user.Id) if (file.UserId == user.Id)
{ {