marinofaggiana 4 жил өмнө
parent
commit
92b4d8a95a

+ 19 - 12
iOSClient/Database/NCManageDatabase.swift

@@ -935,6 +935,25 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    @objc func getCapabilitiesE2EEVersion(account: String) -> Float {
+
+        let realm = try! Realm()
+        realm.refresh()
+        
+        guard let result = realm.objects(tableCapabilities.self).filter("account == %@", account).first else {
+            return 0
+        }
+        
+        let json = JSON(result.jsondata! as Data)
+        let dataCapabilities = json["ocs"]["data"]["capabilities"]
+
+        if let version = dataCapabilities["end-to-end-encryption"]["api-version"].string {
+            return Float(version)!
+        } else {
+            return 0
+        }
+    }
+    
     #if !EXTENSION
     @objc func addCapabilities(_ capabilities: OCCapabilities, account: String) {
         
@@ -1046,18 +1065,6 @@ class NCManageDatabase: NSObject {
         return realm.objects(tableCapabilities.self).filter("account == %@", account).first
     }
     
-    @objc func getEndToEndEncryptionVersion(account: String) -> Float {
-        
-        let realm = try! Realm()
-        realm.refresh()
-        
-        guard let result = realm.objects(tableCapabilities.self).filter("account == %@", account).first else {
-            return 0
-        }
-        
-        return Float(result.endToEndEncryptionVersion)!
-    }
-    
     @objc func compareServerVersion(_ versionCompare: String, account: String) -> Int {
         
         let realm = try! Realm()

+ 1 - 1
iOSClient/Networking/CCNetworking.m

@@ -707,7 +707,7 @@
             }
             
             addObject.serverUrl = metadata.serverUrl;
-            addObject.version = [[NCManageDatabase sharedInstance] getEndToEndEncryptionVersionWithAccount:tableAccount.account];
+            addObject.version = [[NCManageDatabase sharedInstance] getCapabilitiesE2EEVersionWithAccount:tableAccount.account];
             
             // Get the last metadata
             tableDirectory *directory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@", tableAccount.account, metadata.serverUrl]];

+ 1 - 1
iOSClient/Networking/NCNetworkingE2EE.swift

@@ -97,7 +97,7 @@ import NCCommunication
                                     }
                                     newobject.mimeType = "httpd/unix-directory"
                                     newobject.serverUrl = serverUrl
-                                    newobject.version = Int(NCManageDatabase.sharedInstance.getEndToEndEncryptionVersion(account: account))
+                                    newobject.version = Int(NCManageDatabase.sharedInstance.getCapabilitiesE2EEVersion(account: account))
                                     
                                     let _ = NCManageDatabase.sharedInstance.addE2eEncryption(newobject)