]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Add method to ShareTableViewDataSource to fetch the given item's metadata
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 19 Mar 2024 10:57:28 +0000 (18:57 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:39:02 +0000 (16:39 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareTableViewDataSource.swift

index e5f54996d3c92aebfac9fb703d629bf5a711c71f..7c03ef60f37415be8bc19a5b23bbf31db38ba783 100644 (file)
@@ -163,6 +163,23 @@ class ShareTableViewDataSource: NSObject, NSTableViewDataSource, NSTableViewDele
         }
     }
 
+    private func fetchItemMetadata(itemRelativePath: String) async -> NKFile? {
+        return await withCheckedContinuation { continuation in
+            kit?.readFileOrFolder(serverUrlFileName: itemRelativePath, depth: "0") {
+                account, files, data, error in
+                guard error == .success else {
+                    let errorString = "Error getting item metadata: \(error.errorDescription)"
+                    Logger.sharesDataSource.error("\(errorString)")
+                    Task { @MainActor in self.uiDelegate?.showError(errorString) }
+                    continuation.resume(returning: nil)
+                    return
+                }
+                Logger.sharesDataSource.info("Successfully retrieved item metadata")
+                continuation.resume(returning: files.first)
+            }
+        }
+    }
+
     // MARK: - NSTableViewDataSource protocol methods
 
     @objc func numberOfRows(in tableView: NSTableView) -> Int {