]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Add convenience method to get local file metadatas for an account in NextcloudItemMet...
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 7 Mar 2023 21:06:46 +0000 (22:06 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:21 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift

index a3cbb0bfa6708a652f7526ba2ee275dedb8c3056..983763b7cce00461b340d022684508cf21c930a0 100644 (file)
@@ -543,6 +543,24 @@ class NextcloudFilesDatabaseManager : NSObject {
         return sortedLocalFileMetadatas(results)
     }
 
+    func localFileItemMetadatas(account: String) -> [NextcloudItemMetadataTable] {
+        let localFileMetadatas = localFileMetadatas(account: account)
+        let localFileMetadatasOcIds = Array(localFileMetadatas.map { $0.ocId })
+
+        var itemMetadatas: [NextcloudItemMetadataTable] = []
+
+        for ocId in localFileMetadatasOcIds {
+            guard let itemMetadata = itemMetadataFromOcId(ocId) else {
+                NSLog("Could not find matching item metadata for local file metadata with ocId: %@ with request from account: %@", ocId, account)
+                continue;
+            }
+
+            itemMetadatas.append(NextcloudItemMetadataTable(value: itemMetadata))
+        }
+
+        return itemMetadatas
+    }
+
     func convertNKFileToItemMetadata(_ file: NKFile, account: String) -> NextcloudItemMetadataTable {
 
         let metadata = NextcloudItemMetadataTable()