]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Add itemMetadatas method to NextcloudFilesDatabaseManager with status as parameter
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 23 Jan 2023 16:25:00 +0000 (17:25 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:13 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift

index 802d86865a160ebb02e6ec4cc673c2e90b4196cf..e30bc32d2855692393e66ebf75b0f99e1813b810 100644 (file)
@@ -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>) -> [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)