From 3316d19b9079d10bec593177dc77bbba97175b58 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Tue, 7 Mar 2023 22:06:46 +0100 Subject: [PATCH] Add convenience method to get local file metadatas for an account in NextcloudItemMetadataTable form in NextcloudFilesDatabaseManager Signed-off-by: Claudio Cambra --- .../NextcloudFilesDatabaseManager.swift | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift index a3cbb0bfa..983763b7c 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift @@ -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() -- 2.30.2