Add method to get all directory metadatas in database manager

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-03-10 01:06:18 +01:00
parent b73c1d72fb
commit 24b328f57b
No known key found for this signature in database
GPG key ID: C839200C384636B0

View file

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