From: Claudio Cambra Date: Fri, 10 Mar 2023 12:34:44 +0000 (+0100) Subject: Create sortedDirectoryMetadatas convenience method in database manager X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~10^2~55^2~176 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=24d6c5071c646fa05beb603b036bd363b9ba2ac0;p=nextcloud-desktop.git Create sortedDirectoryMetadatas convenience method in database manager Signed-off-by: Claudio Cambra --- diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift index adef544f2..bc1ab1e80 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift @@ -312,27 +312,28 @@ class NextcloudFilesDatabaseManager : NSObject { return nil } - func childDirectoriesForDirectory(_ directoryMetadata: NextcloudDirectoryMetadataTable) -> [NextcloudDirectoryMetadataTable] { - let database = ncDatabase() - let metadatas = database.objects(NextcloudDirectoryMetadataTable.self).filter("serverUrl BEGINSWITH %@ AND ocId != %@", directoryMetadata.serverUrl, directoryMetadata.account) + private func sortedDirectoryMetadatas(_ metadatas: Results) -> [NextcloudDirectoryMetadataTable] { let sortedMetadatas = metadatas.sorted(byKeyPath: "serverUrl", ascending: true) return Array(sortedMetadatas.map { NextcloudDirectoryMetadataTable(value: $0) }) } + func childDirectoriesForDirectory(_ directoryMetadata: NextcloudDirectoryMetadataTable) -> [NextcloudDirectoryMetadataTable] { + let metadatas = ncDatabase().objects(NextcloudDirectoryMetadataTable.self).filter("serverUrl BEGINSWITH %@ AND ocId != %@", directoryMetadata.serverUrl, directoryMetadata.account) + return sortedDirectoryMetadatas(metadatas) + } + func parentDirectoryMetadataForItem(_ itemMetadata: NextcloudItemMetadataTable) -> NextcloudDirectoryMetadataTable? { return directoryMetadata(account: itemMetadata.account, serverUrl: itemMetadata.serverUrl) } func directoryMetadatas(account: String) -> [NextcloudDirectoryMetadataTable] { let metadatas = ncDatabase().objects(NextcloudDirectoryMetadataTable.self).filter("account == %@", account) - let sortedMetadatas = metadatas.sorted(byKeyPath: "serverUrl", ascending: true) - return Array(sortedMetadatas.map { NextcloudDirectoryMetadataTable(value: $0) }) + return sortedDirectoryMetadatas(metadatas) } func directoryMetadatas(account: String, parentDirectoryServerUrl: String) -> [NextcloudDirectoryMetadataTable] { let metadatas = ncDatabase().objects(NextcloudDirectoryMetadataTable.self).filter("account == %@ AND parentDirectoryServerUrl == %@", account, parentDirectoryServerUrl) - let sortedMetadatas = metadatas.sorted(byKeyPath: "serverUrl", ascending: true) - return Array(sortedMetadatas.map { NextcloudDirectoryMetadataTable(value: $0) }) + return sortedDirectoryMetadatas(metadatas) } private func processDirectoryMetadatasToDelete(databaseToWriteTo: Realm,