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,
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)