From f2970e2da79593b8656d4e55b1a22213895542d6 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Mon, 23 Jan 2023 17:25:00 +0100 Subject: [PATCH] Add itemMetadatas method to NextcloudFilesDatabaseManager with status as parameter Signed-off-by: Claudio Cambra --- .../NextcloudFilesDatabaseManager.swift | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift index 802d86865..e30bc32d2 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift @@ -76,12 +76,21 @@ class NextcloudFilesDatabaseManager : NSObject { return ncDatabase().objects(NextcloudItemMetadataTable.self).filter("ocId == %@", ocId).first } - func itemMetadatas(account: String, serverUrl: String) -> [NextcloudItemMetadataTable] { - let metadatas = ncDatabase().objects(NextcloudItemMetadataTable.self).filter("account == %@ AND serverUrl == %@", account, serverUrl) + private func sortedItemMetadatas(_ metadatas: Results) -> [NextcloudItemMetadataTable] { let sortedMetadatas = metadatas.sorted(byKeyPath: "fileName", ascending: true) return Array(sortedMetadatas.map { $0 }) } + func itemMetadatas(account: String, serverUrl: String) -> [NextcloudItemMetadataTable] { + let metadatas = ncDatabase().objects(NextcloudItemMetadataTable.self).filter("account == %@ AND serverUrl == %@", account, serverUrl) + return sortedItemMetadatas(metadatas) + } + + func itemMetadatas(account: String, serverUrl: String, status: NextcloudItemMetadataTable.Status) -> [NextcloudItemMetadataTable] { + let metadatas = ncDatabase().objects(NextcloudItemMetadataTable.self).filter("account == %@ AND serverUrl == %@ AND status == %@", account, serverUrl, status) + return sortedItemMetadatas(metadatas) + } + func itemMetadataFromFileProviderItemIdentifier(_ identifier: NSFileProviderItemIdentifier) -> NextcloudItemMetadataTable? { let ocId = identifier.rawValue return itemMetadataFromOcId(ocId) -- 2.39.5