From fc376b5fe67bb43f770ec92b9125bcebf684348a Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Wed, 8 Mar 2023 17:43:55 +0100 Subject: [PATCH] Report deletedItemMetadatas in processItemMetadatasToDelete in NextcloudFilesDatabaseManager Signed-off-by: Claudio Cambra --- .../FileProviderExt/NextcloudFilesDatabaseManager.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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, -- 2.30.2