Browse Source

sendClientDiagnosticsRemoteOperation

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 1 year ago
parent
commit
4d3e4481fc

+ 3 - 3
iOSClient/Data/NCManageDatabase+Problems.swift

@@ -36,7 +36,7 @@ class tableProblems: Object {
 
 
 extension NCManageDatabase {
 extension NCManageDatabase {
 
 
-    func addProblem(account: String, type: String, date: Date) {
+    func addProblem(account: String, type: String, error: NKError) {
 
 
         do {
         do {
             let realm = try Realm()
             let realm = try Realm()
@@ -44,12 +44,12 @@ extension NCManageDatabase {
                 let primaryKey = account + type
                 let primaryKey = account + type
                 if let result = realm.objects(tableProblems.self).filter("primaryKey %@", primaryKey).first {
                 if let result = realm.objects(tableProblems.self).filter("primaryKey %@", primaryKey).first {
                     result.count += 1
                     result.count += 1
-                    result.oldest = date.timeIntervalSince1970
+                    result.oldest = Date().timeIntervalSince1970
                     realm.add(result, update: .all)
                     realm.add(result, update: .all)
                 } else {
                 } else {
                     let result = tableProblems()
                     let result = tableProblems()
                     result.count = 1
                     result.count = 1
-                    result.oldest = date.timeIntervalSince1970
+                    result.oldest = Date().timeIntervalSince1970
                     realm.add(result, update: .all)
                     realm.add(result, update: .all)
                 }
                 }
             }
             }

+ 7 - 0
iOSClient/Networking/NCNetworking.swift

@@ -432,6 +432,9 @@ class NCNetworking: NSObject, NKCommonDelegate {
             if withUploadComplete, let uploadTask = uploadTask {
             if withUploadComplete, let uploadTask = uploadTask {
                 self.uploadComplete(fileName: metadata.fileName, serverUrl: metadata.serverUrl, ocId: ocId, etag: etag, date: date, size: size, description: description, task: uploadTask, error: error)
                 self.uploadComplete(fileName: metadata.fileName, serverUrl: metadata.serverUrl, ocId: ocId, etag: etag, date: date, size: size, description: description, task: uploadTask, error: error)
             }
             }
+            if error != .success {
+                NCManageDatabase.shared.addProblem(account: account, type: "UploadResult", error: error)
+            }
             completion(account, ocId, etag, date, size, allHeaderFields, afError, error)
             completion(account, ocId, etag, date, size, allHeaderFields, afError, error)
         }
         }
     }
     }
@@ -506,6 +509,8 @@ class NCNetworking: NSObject, NKCommonDelegate {
 
 
             if error == .success {
             if error == .success {
                 NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
                 NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
+            } else {
+                NCManageDatabase.shared.addProblem(account: account, type: "UploadResult", error: error)
             }
             }
 
 
             switch error.errorCode {
             switch error.errorCode {
@@ -639,6 +644,7 @@ class NCNetworking: NSObject, NKCommonDelegate {
 
 
             } else if error.errorCode == NCGlobal.shared.errorForbidden && isApplicationStateActive {
             } else if error.errorCode == NCGlobal.shared.errorForbidden && isApplicationStateActive {
 #if !EXTENSION
 #if !EXTENSION
+                NCManageDatabase.shared.addProblem(account: metadata.account, type: "UploadResult", error: error)
                 DispatchQueue.main.async {
                 DispatchQueue.main.async {
                     let newFileName = NCUtilityFileSystem.shared.createFileName(metadata.fileName, serverUrl: metadata.serverUrl, account: metadata.account)
                     let newFileName = NCUtilityFileSystem.shared.createFileName(metadata.fileName, serverUrl: metadata.serverUrl, account: metadata.account)
                     let alertController = UIAlertController(title: error.errorDescription, message: NSLocalizedString("_change_upload_filename_", comment: ""), preferredStyle: .alert)
                     let alertController = UIAlertController(title: error.errorDescription, message: NSLocalizedString("_change_upload_filename_", comment: ""), preferredStyle: .alert)
@@ -663,6 +669,7 @@ class NCNetworking: NSObject, NKCommonDelegate {
 #endif
 #endif
             } else {
             } else {
 
 
+                NCManageDatabase.shared.addProblem(account: metadata.account, type: "UploadResult", error: error)
                 NCManageDatabase.shared.setMetadataSession(ocId: metadata.ocId, session: nil, sessionError: error.errorDescription, sessionTaskIdentifier: 0, status: NCGlobal.shared.metadataStatusUploadError)
                 NCManageDatabase.shared.setMetadataSession(ocId: metadata.ocId, session: nil, sessionError: error.errorDescription, sessionTaskIdentifier: 0, status: NCGlobal.shared.metadataStatusUploadError)
                 NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterUploadedFile, userInfo: ["ocId": metadata.ocId, "serverUrl": metadata.serverUrl, "account": metadata.account, "fileName": metadata.fileName, "ocIdTemp": ocIdTemp, "error": error])
                 NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterUploadedFile, userInfo: ["ocId": metadata.ocId, "serverUrl": metadata.serverUrl, "account": metadata.account, "fileName": metadata.fileName, "ocIdTemp": ocIdTemp, "error": error])
             }
             }