marinofaggiana 4 년 전
부모
커밋
09ae8cf850

+ 5 - 11
File Provider Extension/FileProviderExtension+Actions.swift

@@ -51,22 +51,19 @@ extension FileProviderExtension {
                 metadata.serverUrl = tableDirectory.serverUrl
                 metadata.typeFile = k_metadataTypeFile_directory
                 
-                guard let metadataUpdate = NCManageDatabase.sharedInstance.addMetadata(metadata) else {
-                    completionHandler(nil, NSFileProviderError(.noSuchItem))
-                    return
-                }
+                NCManageDatabase.sharedInstance.addMetadata(metadata)
                 
                 guard let _ = NCManageDatabase.sharedInstance.addDirectory(encrypted: false, favorite: false, ocId: ocId!, fileId: "", etag: nil, permissions: nil, serverUrl: tableDirectory.serverUrl + "/" + directoryName, richWorkspace: nil, account: account) else {
                     completionHandler(nil, NSFileProviderError(.noSuchItem))
                     return
                 }
                 
-                guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadataUpdate, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
+                guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadata, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
                     completionHandler(nil, NSFileProviderError(.noSuchItem))
                     return
                 }
                 
-                let item = FileProviderItem(metadata: metadataUpdate, parentItemIdentifier: parentItemIdentifier)
+                let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
                 completionHandler(item, nil)
                 
             } else {
@@ -247,11 +244,8 @@ extension FileProviderExtension {
                 if errorCode == 0 {
                     // Change DB
                     metadata.favorite = favorite
-                    guard let metadataUpdate = NCManageDatabase.sharedInstance.addMetadata(metadata) else {
-                        completionHandler(nil, NSFileProviderError(.noSuchItem))
-                        return
-                    }
-                    let item = FileProviderItem(metadata: metadataUpdate, parentItemIdentifier: parentItemIdentifier)
+                    NCManageDatabase.sharedInstance.addMetadata(metadata)
+                    let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
                     
                     fileProviderData.sharedInstance.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
                     fileProviderData.sharedInstance.signalEnumerator(for: [.workingSet])

+ 3 - 3
File Provider Extension/FileProviderExtension+NetworkingDelegate.swift

@@ -61,8 +61,8 @@ extension FileProviderExtension: NCNetworkingDelegate {
             metadata.size = Double(size)
             metadata.status = Int(k_metadataStatusNormal)
                   
-            guard let metadataUpdated = NCManageDatabase.sharedInstance.addMetadata(metadata) else { return }
-            _ = NCManageDatabase.sharedInstance.addLocalFile(metadata: metadataUpdated)
+            NCManageDatabase.sharedInstance.addMetadata(metadata)
+            NCManageDatabase.sharedInstance.addLocalFile(metadata: metadata)
             
             // New file
             if ocId != ocIdTemp {
@@ -76,7 +76,7 @@ extension FileProviderExtension: NCNetworkingDelegate {
             }
             
             // Signal update
-            item = FileProviderItem(metadata: metadataUpdated, parentItemIdentifier: parentItemIdentifier)
+            item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
             fileProviderData.sharedInstance.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
             fileProviderData.sharedInstance.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
             fileProviderData.sharedInstance.signalEnumerator(for: [parentItemIdentifier, .workingSet])

+ 5 - 8
File Provider Extension/FileProviderExtension.swift

@@ -216,7 +216,7 @@ class FileProviderExtension: NSFileProviderExtension {
             return
         }
         
-        guard var metadata = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(identifier) else {
+        guard let metadata = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(identifier) else {
             completionHandler(NSFileProviderError(.noSuchItem))
             return
         }
@@ -232,7 +232,7 @@ class FileProviderExtension: NSFileProviderExtension {
         NCCommunication.shared.download(serverUrlFileName: serverUrlFileName, fileNameLocalPath: fileNameLocalPath,  requestHandler: { (request) in
             
             metadata.status = Int(k_metadataStatusDownloading)
-            if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+            NCManageDatabase.sharedInstance.addMetadata(metadata)
             downloadRequest = request
             self.outstandingSessionTasks[url] = task
             
@@ -255,7 +255,7 @@ class FileProviderExtension: NSFileProviderExtension {
                 metadata.etag = etag ?? ""
                 
                 NCManageDatabase.sharedInstance.addLocalFile(metadata: metadata)
-                if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+                NCManageDatabase.sharedInstance.addMetadata(metadata)
                 
                 completionHandler(nil)
                 
@@ -366,10 +366,7 @@ class FileProviderExtension: NSFileProviderExtension {
                 metadata.size = size
                 metadata.status = Int(k_metadataStatusInUpload)
                 
-                guard let metadataForUpload = NCManageDatabase.sharedInstance.addMetadata(metadata) else {
-                    completionHandler(nil, NSFileProviderError(.noSuchItem))
-                    return
-                }
+                NCManageDatabase.sharedInstance.addMetadata(metadata)
                 
                 let serverUrlFileName = tableDirectory.serverUrl + "/" + fileName
                 let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(ocIdTemp, fileNameView: fileName)!
@@ -379,7 +376,7 @@ class FileProviderExtension: NSFileProviderExtension {
                     NSFileProviderManager.default.register(task, forItemWithIdentifier: NSFileProviderItemIdentifier(ocIdTemp)) { (error) in }
                 }
                 
-                let item = FileProviderItem(metadata: metadataForUpload, parentItemIdentifier: parentItemIdentifier)
+                let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
                 completionHandler(item, nil)
             }
         }

+ 1 - 1
Share/ShareViewController.m

@@ -288,7 +288,7 @@
                 metadata.serverUrl = self.serverUrl;
                 metadata.size = size;
                 
-                metadata = [[NCManageDatabase sharedInstance] addMetadata:metadata];
+                [[NCManageDatabase sharedInstance] addMetadata:metadata];
                 (void)[[NCManageDatabase sharedInstance] addLocalFileWithMetadata:metadata];
                
                 [self.shareTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

+ 2 - 3
iOSClient/Activity/NCActivity.swift

@@ -423,9 +423,8 @@ extension activityTableViewCell: UICollectionViewDelegate {
                                                        
                             CCUtility.moveFile(atPath: atPath, toPath: toPath)
                                                        
-                            if let metadata = NCManageDatabase.sharedInstance.addMetadata(metadata!) {
-                                self.appDelegate.activeMain.performSegue(withIdentifier: "segueDetail", sender: metadata)
-                            }
+                            NCManageDatabase.sharedInstance.addMetadata(metadata!)
+                            self.appDelegate.activeMain.performSegue(withIdentifier: "segueDetail", sender: metadata)
                         }
                     }
                     

+ 2 - 11
iOSClient/Database/NCManageDatabase.swift

@@ -1817,8 +1817,7 @@ class NCManageDatabase: NSObject {
         return metadata
     }
     
-    @discardableResult
-    @objc func addMetadata(_ metadata: tableMetadata) -> tableMetadata? {
+    @objc func addMetadata(_ metadata: tableMetadata) {
 
         let realm = try! Realm()
 
@@ -1828,14 +1827,10 @@ class NCManageDatabase: NSObject {
             }
         } catch let error {
             print("[LOG] Could not write to database: ", error)
-            return nil
         }
-                
-        return tableMetadata.init(value: metadata)
     }
     
-    @discardableResult
-    @objc func addMetadatas(_ metadatas: [tableMetadata]) -> [tableMetadata]? {
+    @objc func addMetadatas(_ metadatas: [tableMetadata]) {
         
         let realm = try! Realm()
 
@@ -1847,11 +1842,7 @@ class NCManageDatabase: NSObject {
             }
         } catch let error {
             print("[LOG] Could not write to database: ", error)
-            return nil
         }
-        
-        
-        return Array(metadatas.map { tableMetadata.init(value:$0) })
     }
     
     @objc func addMetadatas(files: [NCCommunicationFile]?, account: String) {

+ 2 - 2
iOSClient/Main/CCMain.m

@@ -1189,8 +1189,8 @@
              
              [[NCManageDatabase sharedInstance] convertNCCommunicationFilesToMetadatas:files useMetadataFolder:false account:account completion:^(tableMetadata *metadataFolder, NSArray<tableMetadata *> *metadatasFolder, NSArray<tableMetadata *> *metadatas) {
                  
-                 NSMutableArray *metadatasDB = (NSMutableArray *)[[NCManageDatabase sharedInstance] addMetadatas:metadatas];
-                 _searchResultMetadatas = [[NSMutableArray alloc] initWithArray:metadatasDB];
+                 [[NCManageDatabase sharedInstance] addMetadatas:metadatas];
+                 _searchResultMetadatas = [[NSMutableArray alloc] initWithArray:metadatas];
                  _metadataFolder = nil;
                  
                  [self reloadDatasource:_serverUrl ocId:nil];

+ 1 - 3
iOSClient/Main/NCMainCommon.swift

@@ -151,8 +151,6 @@ class NCMainCommon: NSObject, NCAudioRecorderViewControllerDelegate, UIDocumentI
                 session = NCCommunicationBackground.shared.sessionManagerTransferExtension
             }
             
-            var metadata = metadata
-
             session!.getTasksWithCompletionHandler { (dataTasks, uploadTasks, downloadTasks) in
                 
                 var cancel = false
@@ -162,7 +160,7 @@ class NCMainCommon: NSObject, NCAudioRecorderViewControllerDelegate, UIDocumentI
                         if task.taskIdentifier == metadata.sessionTaskIdentifier {
                             if uploadStatusForcedStart {
                                 metadata.status = Int(k_metadataStatusUploadForcedStart)
-                                metadata = NCManageDatabase.sharedInstance.addMetadata(metadata) ?? metadata
+                                NCManageDatabase.sharedInstance.addMetadata(metadata)
                             }
                             task.cancel()
                             cancel = true

+ 10 - 10
iOSClient/Networking/NCNetworking.swift

@@ -298,16 +298,16 @@ import Alamofire
                 return
             }
                
-            guard let metadataForUpload = NCManageDatabase.sharedInstance.addMetadata(metadata) else { return }
+            NCManageDatabase.sharedInstance.addMetadata(metadata)
            
             if e2eEncrypted {
                 #if !EXTENSION
-                NCNetworkingE2EE.shared.upload(metadata: metadataForUpload, account: account, completion: completion)
+                NCNetworkingE2EE.shared.upload(metadata: metadata, account: account, completion: completion)
                 #endif
             } else if background {
-                uploadFileInBackground(metadata: metadataForUpload, account: account, completion: completion)
+                uploadFileInBackground(metadata: metadata, account: account, completion: completion)
             } else {
-                uploadFile(metadata: metadataForUpload, account: account, completion: completion)
+                uploadFile(metadata: metadata, account: account, completion: completion)
             }
            
         } else {
@@ -329,16 +329,16 @@ import Alamofire
                     return
                 }
                        
-                guard let metadataForUpload = NCManageDatabase.sharedInstance.addMetadata(extractMetadata) else {return}
+                NCManageDatabase.sharedInstance.addMetadata(extractMetadata)
                
                 if e2eEncrypted {
                     #if !EXTENSION
-                    NCNetworkingE2EE.shared.upload(metadata: metadataForUpload, account: account, completion: completion)
+                    NCNetworkingE2EE.shared.upload(metadata: extractMetadata, account: account, completion: completion)
                     #endif
                 } else if background {
-                    self.uploadFileInBackground(metadata: metadataForUpload, account: account, completion: completion)
+                    self.uploadFileInBackground(metadata: extractMetadata, account: account, completion: completion)
                 } else {
-                    self.uploadFile(metadata: metadataForUpload, account: account, completion: completion)
+                    self.uploadFile(metadata: extractMetadata, account: account, completion: completion)
                 }
             }
         }
@@ -418,7 +418,7 @@ import Alamofire
                         metadata.deleteAssetLocalIdentifier = true;
                 }
                 
-                if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+                NCManageDatabase.sharedInstance.addMetadata(metadata)
 
                 if CCUtility.getDisableLocalCacheAfterUpload() {
                     CCUtility.removeFile(atPath: CCUtility.getDirectoryProviderStorageOcId(metadata.ocId))
@@ -466,7 +466,7 @@ import Alamofire
                 
                 NotificationCenter.default.postOnMainThread(name: k_notificationCenter_uploadedFile, userInfo: ["metadata":metadata, "errorCode":errorCode, "errorDescription":errorDescription])
                 
-                if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+                NCManageDatabase.sharedInstance.addMetadata(metadata)
             }
             
             NotificationCenter.default.postOnMainThread(name: k_notificationCenter_reloadDataSource, userInfo: ["ocId":metadata.ocId, "serverUrl":metadata.serverUrl])

+ 4 - 5
iOSClient/Networking/NCNetworkingE2EE.swift

@@ -184,7 +184,6 @@ import Alamofire
     
     func upload(metadata: tableMetadata, account: tableAccount, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->()) {
         
-        var metadata = metadata
         let objectE2eEncryption = tableE2eEncryption()
         var key: NSString?, initializationVector: NSString?, authenticationTag: NSString?
         
@@ -239,7 +238,7 @@ import Alamofire
                 // Start Upload file
                 metadata.status = Int(k_metadataStatusInUpload)
                 metadata.session = NCCommunicationCommon.shared.sessionIdentifierUpload
-                if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+                NCManageDatabase.sharedInstance.addMetadata(metadata)
                 
                 NotificationCenter.default.postOnMainThread(name: k_notificationCenter_reloadDataSource, userInfo: ["ocId":metadata.ocId, "serverUrl":metadata.serverUrl])
                 
@@ -247,7 +246,7 @@ import Alamofire
                     
                     NCNetworking.shared.uploadRequest[fileNameLocalPath] = request
                     metadata.status = Int(k_metadataStatusUploading)
-                    if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+                    NCManageDatabase.sharedInstance.addMetadata(metadata)
                     
                     NotificationCenter.default.postOnMainThread(name: k_notificationCenter_uploadFileStart, userInfo: ["ocId":metadata.ocId, "serverUrl":serverUrl, "account": metadata.account])
                     
@@ -278,7 +277,7 @@ import Alamofire
                         metadata.status = Int(k_metadataStatusNormal)
                                            
                         NCManageDatabase.sharedInstance.addLocalFile(metadata: metadata)
-                        if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+                        NCManageDatabase.sharedInstance.addMetadata(metadata)
                         
                         //CCGraphics.createNewImage(from: metadata.fileNameView, ocId: metadata.ocId, filterGrayScale: false, typeFile: metadata.typeFile, writeImage: true)
                         
@@ -305,7 +304,7 @@ import Alamofire
                         metadata.sessionError = errorDescription
                         metadata.status = Int(k_metadataStatusUploadError)
                        
-                        if let result = NCManageDatabase.sharedInstance.addMetadata(metadata) { metadata = result }
+                        NCManageDatabase.sharedInstance.addMetadata(metadata)
                         
                         NotificationCenter.default.postOnMainThread(name: k_notificationCenter_uploadedFile, userInfo: ["metadata":metadata, "errorCode":errorCode, "errorDescription":errorDescription])
                     }

+ 2 - 1
iOSClient/Transfers/CCTransfers.m

@@ -252,7 +252,8 @@
         metadataForRecognizer.status = k_metadataStatusInUpload;
         metadataForRecognizer.session = NCCommunicationCommon.shared.sessionIdentifierBackground;
        
-        [[NCNetworking shared] uploadWithMetadata:[[NCManageDatabase sharedInstance] addMetadata:metadataForRecognizer] background: true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+        [[NCManageDatabase sharedInstance] addMetadata:metadataForRecognizer];
+        [[NCNetworking shared] uploadWithMetadata:metadataForRecognizer background: true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
     }
 }