Marino Faggiana 1 year ago
parent
commit
655b4d41df

+ 3 - 0
iOSClient/Networking/E2EE/NCEndToEndMetadataV20.swift

@@ -39,6 +39,7 @@ extension NCEndToEndMetadata {
             return (nil, nil)
         }
 
+        var isDirectoryTop = NCUtility.shared.isDirectoryE2EETop(serverUrl: serverUrl, account: account)
         var usersCodable: [E2eeV20.Users] = []
         var filedropCodable: [String: E2eeV20.Filedrop] = [:]
 
@@ -143,6 +144,8 @@ extension NCEndToEndMetadata {
             return NKError(errorCode: NCGlobal.shared.errorE2EE, errorDescription: "Error decoding JSON")
         }
 
+        var isDirectoryTop = NCUtility.shared.isDirectoryE2EETop(serverUrl: serverUrl, account: account)
+
         func addE2eEncryption(fileNameIdentifier: String, filename: String, authenticationTag: String, key: String, initializationVector: String, metadataKey: String, mimetype: String) {
 
             if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND fileName == %@", account, fileNameIdentifier)) {

+ 8 - 0
iOSClient/Utility/NCUtility.swift

@@ -760,6 +760,14 @@ class NCUtility: NSObject {
         }
         return false
     }
+    func isDirectoryE2EETop(serverUrl: String, account: String) -> Bool {
+        if let url = URL(string: serverUrl)?.deletingLastPathComponent() {
+            if let directory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", account, String(url.absoluteString.dropLast()))) {
+                return !directory.e2eEncrypted
+            }
+        }
+        return true
+    }
 
     func createViewImageAndText(image: UIImage, title: String? = nil) -> UIView {