diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift index f17e693bd..e2ad94279 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift @@ -194,7 +194,7 @@ class NextcloudFilesDatabaseManager : NSObject { do { try database.write { - let existingMetadatas = ncDatabase().objects(NextcloudItemMetadataTable.self).filter("account == %@ AND serverUrl == %@ AND status == %@", account, serverUrl, NextcloudItemMetadataTable.Status.normal.rawValue) + let existingMetadatas = database.objects(NextcloudItemMetadataTable.self).filter("account == %@ AND serverUrl == %@ AND status == %@", account, serverUrl, NextcloudItemMetadataTable.Status.normal.rawValue) let deletedMetadatas = processItemMetadatasToDelete(databaseToWriteTo: database, existingMetadatas: existingMetadatas, @@ -311,6 +311,12 @@ class NextcloudFilesDatabaseManager : NSObject { 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) }) + } + 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)