Просмотр исходного кода

Properly handle metadata delete after item deletion in FileProviderExtension

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
Claudio Cambra 2 лет назад
Родитель
Сommit
7550ed7a1b

+ 6 - 5
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift

@@ -580,11 +580,12 @@ class FileProviderExtension: NSObject, NSFileProviderReplicatedExtension, NKComm
             Logger.fileTransfer.info("Successfully deleted item with identifier: \(identifier.rawValue, privacy: .public) at: \(serverFileNameUrl, privacy: OSLogPrivacy.auto(mask: .hash))")
 
             if itemMetadata.directory {
-                dbManager.deleteDirectoryAndSubdirectoriesMetadata(ocId: ocId)
-            }
-
-            if dbManager.localFileMetadataFromOcId(ocId) != nil {
-                dbManager.deleteLocalFileMetadata(ocId: ocId)
+                _ = dbManager.deleteDirectoryAndSubdirectoriesMetadata(ocId: ocId)
+            } else {
+                dbManager.deleteItemMetadata(ocId: ocId)
+                if dbManager.localFileMetadataFromOcId(ocId) != nil {
+                    dbManager.deleteLocalFileMetadata(ocId: ocId)
+                }
             }
 
             completionHandler(nil)