Bläddra i källkod

Clear tableE2eEncryption

Marino Faggiana 7 år sedan
förälder
incheckning
d429d3638c

+ 0 - 1
iOSClient/Security/NCEndToEndEncryption.m

@@ -1023,7 +1023,6 @@ cleanup:
     return data;
     return data;
 }
 }
 
 
-
 - (NSString *)derToPemPrivateKey:(NSString *)input
 - (NSString *)derToPemPrivateKey:(NSString *)input
 {
 {
     NSInteger substringLength = 65;
     NSInteger substringLength = 65;

+ 11 - 1
iOSClient/Security/NCEntoToEndInterface.swift

@@ -377,10 +377,20 @@ class NCEntoToEndInterface : NSObject, OCNetworkingDelegate  {
             appDelegate.messageNotification("E2E decode metadata", description: "Serious internal error in decoding metadata", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: 0)
             appDelegate.messageNotification("E2E decode metadata", description: "Serious internal error in decoding metadata", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: 0)
             return
             return
         }
         }
-
+        
         // Clear all date directory and reload data source
         // Clear all date directory and reload data source
         NCManageDatabase.sharedInstance.setClearAllDateReadDirectory()
         NCManageDatabase.sharedInstance.setClearAllDateReadDirectory()
         main.reloadDatasource(serverUrl)
         main.reloadDatasource(serverUrl)
+        
+        // Clear tableE2eEncryption
+        guard let objectsE2eEncryption = NCManageDatabase.sharedInstance.getE2eEncryptions(predicate:  NSPredicate(format: "account = %@ AND serverUrl = %@", appDelegate.activeAccount, metadataNet.serverUrl+"/"+metadataNet.fileName)) else {
+            return
+        }
+        for object in objectsE2eEncryption {
+            if NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account = %@ AND fileName = %@", appDelegate.activeAccount, object.fileNameIdentifier)) == nil {
+                NCManageDatabase.sharedInstance.deleteE2eEncryption(predicate: NSPredicate(format: "account = %@ AND fileNameIdentifier = %@", appDelegate.activeAccount, object.fileNameIdentifier))
+            }
+        }
     }
     }
     
     
     func getEndToEndMetadataFailure(_ metadataNet: CCMetadataNet!, message: String!, errorCode: Int) {
     func getEndToEndMetadataFailure(_ metadataNet: CCMetadataNet!, message: String!, errorCode: Int) {