]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Add convenience method to get all local file metadatas for an account in NextcloudFil...
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 7 Mar 2023 20:48:08 +0000 (21:48 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:21 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/NextcloudFilesDatabaseManager.swift

index 54e842e9cbf1861dc909f7dca32101c2bba6e29f..a3cbb0bfa6708a652f7526ba2ee275dedb8c3056 100644 (file)
@@ -533,7 +533,17 @@ class NextcloudFilesDatabaseManager : NSObject {
         }
     }
 
-    @objc func convertNKFileToItemMetadata(_ file: NKFile, account: String) -> NextcloudItemMetadataTable {
+    private func sortedLocalFileMetadatas(_ metadatas: Results<NextcloudLocalFileMetadataTable>) -> [NextcloudLocalFileMetadataTable] {
+        let sortedMetadatas = metadatas.sorted(byKeyPath: "fileName", ascending: true)
+        return Array(sortedMetadatas.map { NextcloudLocalFileMetadataTable(value: $0) })
+    }
+
+    func localFileMetadatas(account: String) -> [NextcloudLocalFileMetadataTable] {
+        let results = ncDatabase().objects(NextcloudLocalFileMetadataTable.self).filter("account == %@", account)
+        return sortedLocalFileMetadatas(results)
+    }
+
+    func convertNKFileToItemMetadata(_ file: NKFile, account: String) -> NextcloudItemMetadataTable {
 
         let metadata = NextcloudItemMetadataTable()