marinofaggiana 5 years ago
parent
commit
cca363abb6
1 changed files with 19 additions and 0 deletions
  1. 19 0
      iOSClient/Networking/NCNetworking.swift

+ 19 - 0
iOSClient/Networking/NCNetworking.swift

@@ -222,8 +222,27 @@ import NCCommunication
                 var metadataFolder = tableMetadata()
                 let metadatas = NCNetworking.sharedInstance.convertFilesToMetadatas(files!, metadataFolder: &metadataFolder)
                 
+                // Add directory
                 NCManageDatabase.sharedInstance.addDirectory(encrypted: isFolderEncrypted, favorite: metadataFolder.favorite, ocId: metadataFolder.ocId, etag: metadataFolder.etag, permissions: metadataFolder.permissions, serverUrl: serverUrl, richWorkspace: metadataFolder.richWorkspace, account: account)
                 
+                // Save status transfer metadata
+                let metadatasInDownload = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND (status == %d OR status == %d OR status == %d OR status == %d)", account, serverUrl, k_metadataStatusWaitDownload, k_metadataStatusInDownload, k_metadataStatusDownloading, k_metadataStatusDownloadError), sorted: nil, ascending: false)
+                
+                let metadatasInUpload = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND (status == %d OR status == %d OR status == %d OR status == %d)", account, serverUrl, k_metadataStatusWaitUpload, k_metadataStatusInUpload, k_metadataStatusUploading, k_metadataStatusUploadError), sorted: nil, ascending: false)
+
+                // Delete metadata
+                NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND status == %d", account, serverUrl, k_metadataStatusNormal))
+
+                // Add metadata
+                NCManageDatabase.sharedInstance.addMetadatas(metadatas)
+                 
+                if metadatasInDownload != nil {
+                    NCManageDatabase.sharedInstance.addMetadatas(metadatasInDownload!)
+                }
+                if metadatasInUpload != nil {
+                    NCManageDatabase.sharedInstance.addMetadatas(metadatasInUpload!)
+                }
+                
                 completion(account, metadataFolder, metadatas, errorCode, "")
                 
             } else {