From: Claudio Cambra Date: Wed, 8 Mar 2023 16:43:55 +0000 (+0100) Subject: Report deletedItemMetadatas in processItemMetadatasToDelete in NextcloudFilesDatabase... X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~10^2~55^2~200 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fc376b5fe67bb43f770ec92b9125bcebf684348a;p=nextcloud-desktop.git Report deletedItemMetadatas in processItemMetadatasToDelete in NextcloudFilesDatabaseManager Signed-off-by: Claudio Cambra --- diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift index 04e582ca1..f4edcbf6b 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift @@ -110,14 +110,18 @@ class NextcloudFilesDatabaseManager : NSObject { private func processItemMetadatasToDelete(databaseToWriteTo: Realm, existingMetadatas: Results, - updatedMetadatas: [NextcloudItemMetadataTable]) { + updatedMetadatas: [NextcloudItemMetadataTable]) -> [NextcloudItemMetadataTable] { assert(databaseToWriteTo.isInWriteTransaction) + var deletedMetadatas: [NextcloudItemMetadataTable] = [] + for existingMetadata in existingMetadatas { guard !updatedMetadatas.contains(where: { $0.ocId == existingMetadata.ocId }), let metadataToDelete = itemMetadataFromOcId(existingMetadata.ocId) else { continue } + deletedMetadatas.append(metadataToDelete) + NSLog(""" Deleting metadata. ocID: %@, @@ -129,6 +133,8 @@ class NextcloudFilesDatabaseManager : NSObject { // Can't pass copies, we need the originals from the database databaseToWriteTo.delete(ncDatabase().objects(NextcloudItemMetadataTable.self).filter("ocId == %@", metadataToDelete.ocId)) } + + return deletedMetadatas } private func processItemMetadatasToUpdate(databaseToWriteTo: Realm,