Selaa lähdekoodia

fix directory e2ee auto upload

Marino Faggiana 7 vuotta sitten
vanhempi
commit
a65d2a79bc
2 muutettua tiedostoa jossa 11 lisäystä ja 4 poistoa
  1. 3 1
      iOSClient/AutoUpload/NCAutoUpload.m
  2. 8 3
      iOSClient/Synchronize/CCSynchronize.m

+ 3 - 1
iOSClient/AutoUpload/NCAutoUpload.m

@@ -482,7 +482,9 @@
     
     if (error == nil) {
         
-        (void)[[NCManageDatabase sharedInstance] addDirectoryWithServerUrl:folderPhotos permissions:nil encrypted:false];
+        tableDirectory *tableDirectory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND serverUrl = %@", appDelegate.activeAccount, folderPhotos]];
+        if (!tableDirectory)
+            (void)[[NCManageDatabase sharedInstance] addDirectoryWithServerUrl:folderPhotos permissions:nil encrypted:false];
         
     } else {
         

+ 8 - 3
iOSClient/Synchronize/CCSynchronize.m

@@ -299,11 +299,16 @@
         // Selector : selectorReadFileReloadFolder, selectorReadFileFolderWithDownload
         if ([metadataNet.selector isEqualToString:selectorReadFileFolder] || [metadataNet.selector isEqualToString:selectorReadFileFolderWithDownload]) {
             
+            tableDirectory *tableDirectory;
             NSString *serverUrl = [CCUtility stringAppendServerUrl:metadataNet.serverUrl addFileName:metadataNet.fileName];
             
-            // Add Directory
-            (void) [[NCManageDatabase sharedInstance] addDirectoryWithServerUrl:metadataNet.account permissions:nil encrypted:false];
-            tableDirectory *tableDirectory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND serverUrl = %@", metadataNet.account, serverUrl]];
+            // Add Directory if do not exists
+            tableDirectory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND serverUrl = %@", metadataNet.account, serverUrl]];
+            
+            if (!tableDirectory) {
+                (void) [[NCManageDatabase sharedInstance] addDirectoryWithServerUrl:serverUrl permissions:nil encrypted:false];
+                tableDirectory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND serverUrl = %@", metadataNet.account, serverUrl]];
+            }
             
             // Verify changed etag
             if (![tableDirectory.etag isEqualToString:metadata.etag]) {