Marino Faggiana 7 years ago
parent
commit
d4d4f04dc1
1 changed files with 18 additions and 26 deletions
  1. 18 26
      PickerFileProvider/FileProvider.swift

+ 18 - 26
PickerFileProvider/FileProvider.swift

@@ -716,6 +716,9 @@ class FileProvider: NSFileProviderExtension {
         listUpdateItems.removeAll()
         listUpdateItems.removeAll()
         fileNamePathImport.removeAll()
         fileNamePathImport.removeAll()
         
         
+        var serverUrlTo = ""
+        var fileNameTo = ""
+        
         guard let itemFrom = try? item(for: itemIdentifier) else {
         guard let itemFrom = try? item(for: itemIdentifier) else {
             completionHandler(nil, NSFileProviderError(.noSuchItem))
             completionHandler(nil, NSFileProviderError(.noSuchItem))
             return
             return
@@ -731,42 +734,31 @@ class FileProvider: NSFileProviderExtension {
             return
             return
         }
         }
         
         
-        guard let directoryTableFrom = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "serverUrl = %@", serverUrlFrom)) else {
-            completionHandler(nil, NSFileProviderError(.noSuchItem))
-            return
-        }
-        
-        guard let itemTo = try? item(for: parentItemIdentifier) else {
-            completionHandler(nil, NSFileProviderError(.noSuchItem))
-            return
-        }
-        
-        guard let metadataTo = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, parentItemIdentifier.rawValue)) else {
-            completionHandler(nil, NSFileProviderError(.noSuchItem))
-            return
-        }
-        
-        guard let serverUrlTo = NCManageDatabase.sharedInstance.getServerUrl(metadataTo.directoryID) else {
-            completionHandler(nil, NSFileProviderError(.noSuchItem))
-            return
-        }
-        
-        guard let directoryTableTo = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "serverUrl = %@", serverUrlTo)) else {
-            completionHandler(nil, NSFileProviderError(.noSuchItem))
-            return
+        if parentItemIdentifier == NSFileProviderItemIdentifier.rootContainer {
+            serverUrlTo = homeServerUrl
+        } else {
+            guard let metadataTo = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, parentItemIdentifier.rawValue)) else {
+                completionHandler(nil, NSFileProviderError(.noSuchItem))
+                return
+            }
+            serverUrlTo = NCManageDatabase.sharedInstance.getServerUrl(metadataTo.directoryID)!
         }
         }
         
         
-    
         let fileNameFrom = serverUrlFrom + "/" + itemFrom.filename
         let fileNameFrom = serverUrlFrom + "/" + itemFrom.filename
-        var fileNameTo = ""
         if newName == nil {
         if newName == nil {
-            fileNameTo = serverUrlTo + "/" + itemTo.filename
+            fileNameTo = serverUrlTo + "/" + itemFrom.filename
         } else {
         } else {
             fileNameTo = serverUrlTo + "/" + newName!
             fileNameTo = serverUrlTo + "/" + newName!
         }
         }
         
         
         ocNetworking?.moveFileOrFolder(fileNameFrom, fileNameTo: fileNameTo, success: {
         ocNetworking?.moveFileOrFolder(fileNameFrom, fileNameTo: fileNameTo, success: {
             
             
+            if (metadataFrom.directory) {
+                
+            } else {
+                
+            }
+            
             completionHandler(nil, nil)
             completionHandler(nil, nil)
             
             
         }, failure: { (errorMessage, errorCode) in
         }, failure: { (errorMessage, errorCode) in