marinofaggiana 4 years ago
parent
commit
4569f0d3da

+ 1 - 1
iOSClient/CCGlobal.h

@@ -230,7 +230,7 @@
 
 // E2EE
 #define k_max_filesize_E2EE                             524288000   // 500 MB
-#define k_E2EE_API                                      @"1.1"
+#define k_E2EE_API                                      @"1.0"
 
 // Flow Version
 #define k_flow_version_available                        12

+ 5 - 3
iOSClient/Database/NCManageDatabase.swift

@@ -1968,9 +1968,11 @@ class NCManageDatabase: NSObject {
         do {
             try realm.write {
                 // DELETE
-                for result in metadatasResult {
-                    if metadatas.firstIndex(where: { $0.ocId == result.ocId }) == nil {
-                        realm.delete(result)
+                for metadataResult in metadatasResult {
+                    if metadatas.firstIndex(where: { $0.ocId == metadataResult.ocId }) == nil {
+                        if let result = realm.objects(tableMetadata.self).filter(NSPredicate(format: "ocId == %@", metadataResult.ocId)).first {
+                            realm.delete(result)
+                        }
                     }
                 }
                 // UPDATE/NEW

+ 10 - 3
iOSClient/Networking/NCNetworkingE2EE.swift

@@ -186,6 +186,12 @@ import Alamofire
         metadata.fileName = CCUtility.generateRandomIdentifier()!
         metadata.e2eEncrypted = true
         
+        // Start Upload file ------
+        metadata.status = Int(k_metadataStatusInUpload)
+        metadata.session = NCCommunicationCommon.shared.sessionIdentifierUpload
+        NCManageDatabase.sharedInstance.addMetadata(metadata)
+        //-----------------------
+        
         let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileName)!
         let serverUrlFileName = serverUrl + "/" + metadata.fileName
         
@@ -306,6 +312,7 @@ import Alamofire
                 
             } else {
                 
+                let metadata = tableMetadata.init(value: metadata)
                 NotificationCenter.default.postOnMainThread(name: k_notificationCenter_uploadedFile, userInfo: ["metadata":metadata, "errorCode":errorCode, "errorDescription":errorDescription ?? ""])
                 
                 completion(errorCode, errorDescription ?? "")
@@ -328,7 +335,7 @@ import Alamofire
             e2eToken = tableLock.e2eToken
         }
         
-        NCCommunication.shared.lockE2EEFolder(fileId: directory.fileId, e2eToken: e2eToken, delete: false) { (account, e2eToken, errorCode, errorDescription) in
+        NCCommunication.shared.lockE2EEFolder(fileId: directory.fileId, e2eToken: e2eToken, method: "POST") { (account, e2eToken, errorCode, errorDescription) in
             if errorCode == 0 && e2eToken != nil {
                 NCManageDatabase.sharedInstance.setE2ETokenLock(serverUrl: serverUrl, fileId: directory.fileId, e2eToken: e2eToken!)
             }
@@ -349,7 +356,7 @@ import Alamofire
             e2eToken = tableLock.e2eToken
         }
         
-        NCCommunication.shared.lockE2EEFolder(fileId: directory.fileId, e2eToken: e2eToken, delete: true) { (account, e2eToken, errorCode, errorDescription) in
+        NCCommunication.shared.lockE2EEFolder(fileId: directory.fileId, e2eToken: e2eToken, method: "DELETE") { (account, e2eToken, errorCode, errorDescription) in
             if errorCode == 0 {
                 NCManageDatabase.sharedInstance.deteleE2ETokenLock(serverUrl: serverUrl)
             }
@@ -415,7 +422,7 @@ import Alamofire
             
             // unlock
             if let tableLock = NCManageDatabase.sharedInstance.getE2ETokenLock(serverUrl: serverUrl) {
-                NCCommunication.shared.lockE2EEFolder(fileId: tableLock.fileId, e2eToken: tableLock.e2eToken, delete: true) { (_, _, _, _) in }
+                NCCommunication.shared.lockE2EEFolder(fileId: tableLock.fileId, e2eToken: tableLock.e2eToken, method: "DELETE") { (_, _, _, _) in }
             }
             
             if errorDescription == nil { userInfo["errorDescription"] = "" }