Bläddra i källkod

fix create folder e2ee

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 år sedan
förälder
incheckning
985bd4b626

+ 7 - 3
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -434,11 +434,15 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
               serverUrl == self.serverUrl,
               let account = userInfo["account"] as? String,
               account == appDelegate.account,
-              let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId)
+              let e2ee = userInfo["e2ee"] as? Bool
         else { return }
 
-        reloadDataSource()
-        pushMetadata(metadata)
+        if e2ee {
+            reloadDataSourceNetwork(forced: true)
+        } else if let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId)  {
+            reloadDataSource()
+            pushMetadata(metadata)
+        }
     }
 
     @objc func favoriteFile(_ notification: NSNotification) {

+ 1 - 1
iOSClient/NCGlobal.swift

@@ -358,7 +358,7 @@ class NCGlobal: NSObject {
 
     let notificationCenterProgressTask                          = "progressTask"                    // userInfo: account, ocId, serverUrl, status, progress, totalBytes, totalBytesExpected
 
-    let notificationCenterCreateFolder                          = "createFolder"                    // userInfo: ocId, serverUrl, account
+    let notificationCenterCreateFolder                          = "createFolder"                    // userInfo: ocId, serverUrl, account, e2ee
     let notificationCenterDeleteFile                            = "deleteFile"                      // userInfo: ocId, fileNameView, serverUrl, account, classFile, onlyLocalCache
     let notificationCenterRenameFile                            = "renameFile"                      // userInfo: ocId, account
     let notificationCenterMoveFile                              = "moveFile"                        // userInfo: ocId, account, serverUrlFrom

+ 1 - 1
iOSClient/Networking/NCNetworking.swift

@@ -1048,7 +1048,7 @@ import Photos
                         NCManageDatabase.shared.addDirectory(encrypted: metadata.e2eEncrypted, favorite: metadata.favorite, ocId: metadata.ocId, fileId: metadata.fileId, etag: nil, permissions: metadata.permissions, serverUrl: fileNameFolderUrl, account: account)
                     }
                     if let metadata = NCManageDatabase.shared.getMetadataFromOcId(metadataFolder?.ocId) {
-                        NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterCreateFolder, userInfo: ["ocId": metadata.ocId, "serverUrl": metadata.serverUrl, "account": metadata.account])
+                        NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterCreateFolder, userInfo: ["ocId": metadata.ocId, "serverUrl": metadata.serverUrl, "account": metadata.account, "e2ee": false])
                     }
                 }
                 completion(error)

+ 2 - 2
iOSClient/Networking/NCNetworkingE2EE.swift

@@ -95,8 +95,8 @@ import Alamofire
                                     if let tableLock = NCManageDatabase.shared.getE2ETokenLock(account: account, serverUrl: serverUrl) {
                                         NextcloudKit.shared.lockE2EEFolder(fileId: tableLock.fileId, e2eToken: tableLock.e2eToken, method: "DELETE") { _, _, _, _ in }
                                     }
-                                    if error == .success {
-                                        NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterCreateFolder, userInfo: nil)
+                                    if error == .success, let ocId = ocId {
+                                        NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterCreateFolder, userInfo: ["ocId": ocId, "serverUrl": serverUrl, "account": account, "e2ee": true])
                                     }
                                     completion(error)
                                 }