Favour straight return in updateItemMetadatas rather than unnecessary completionHandl...
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Sat, 18 Mar 2023 12:23:53 +0000 (13:23 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:29:55 +0000 (13:29 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Database/NextcloudFilesDatabaseManager.swift
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderEnumerator.swift

index edf402dd293c77c2952260367d040125a8ad75e9..bdd0a6b73a04108ffc9fdb3f0735f40b74e42016 100644 (file)
@@ -175,7 +175,7 @@ class NextcloudFilesDatabaseManager : NSObject {
         return (returningNewMetadatas, returningUpdatedMetadatas, directoriesNeedingRename)
     }
 
-    func updateItemMetadatas(account: String, serverUrl: String, updatedMetadatas: [NextcloudItemMetadataTable], updateDirectoryEtags: Bool, completionHandler: @escaping(_ newMetadatas: [NextcloudItemMetadataTable]?, _ updatedMetadatas: [NextcloudItemMetadataTable]?, _ deletedMetadatas: [NextcloudItemMetadataTable]?) -> Void) {
+    func updateItemMetadatas(account: String, serverUrl: String, updatedMetadatas: [NextcloudItemMetadataTable], updateDirectoryEtags: Bool) -> (newMetadatas: [NextcloudItemMetadataTable]?, updatedMetadatas: [NextcloudItemMetadataTable]?, deletedMetadatas: [NextcloudItemMetadataTable]?) {
         let database = ncDatabase()
 
         do {
@@ -213,10 +213,10 @@ class NextcloudFilesDatabaseManager : NSObject {
                 }
             }
 
-            completionHandler(metadatasToCreate, metadatasToUpdate, metadatasToDelete)
+            return (newMetadatas: metadatasToCreate, updatedMetadatas: metadatasToUpdate, deletedMetadatas: metadatasToDelete)
         } catch let error {
             Logger.ncFilesDatabase.error("Could not update any item metadatas, received error: \(error.localizedDescription, privacy: .public)")
-            completionHandler(nil, nil, nil)
+            return (nil, nil, nil)
         }
     }
 
index 711255dcb5c59a1965e802d885a14ef0e71c6ca7..ec28fb0e87fea7e3d064d3367c6f516f33688916 100644 (file)
@@ -610,9 +610,9 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
                         // that our local copies are up to date -- instead, leave them as the old.
                         // They will get updated when they are the subject of a readServerUrl call.
                         // (See above)
-                        dbManager.updateItemMetadatas(account: ncKitAccount, serverUrl: serverUrl, updatedMetadatas: metadatas, updateDirectoryEtags: false) { newMetadatas, updatedMetadatas, deletedMetadatas in
-                            completionHandler(metadatas, newMetadatas, updatedMetadatas, deletedMetadatas, nil)
-                        }
+                        let changedMetadatas = dbManager.updateItemMetadatas(account: ncKitAccount, serverUrl: serverUrl, updatedMetadatas: metadatas, updateDirectoryEtags: false)
+
+                        completionHandler(metadatas, changedMetadatas.newMetadatas, changedMetadatas.updatedMetadatas, changedMetadatas.deletedMetadatas, nil)
                     }
                 }
             }