|
@@ -23,67 +23,50 @@
|
|
|
import UIKit
|
|
|
import NextcloudKit
|
|
|
|
|
|
-@objc class NCNetworkingCheckRemoteUser: NSObject {
|
|
|
- @objc public static let shared: NCNetworkingCheckRemoteUser = {
|
|
|
- let instance = NCNetworkingCheckRemoteUser()
|
|
|
- return instance
|
|
|
- }()
|
|
|
+class NCNetworkingCheckRemoteUser {
|
|
|
|
|
|
- var checkRemoteUserInProgress = false
|
|
|
-
|
|
|
- @objc func checkRemoteUser(account: String, error: NKError) {
|
|
|
-
|
|
|
- if self.checkRemoteUserInProgress {
|
|
|
- return
|
|
|
- } else {
|
|
|
- self.checkRemoteUserInProgress = true
|
|
|
- }
|
|
|
+ func checkRemoteUser(account: String, error: NKError) {
|
|
|
|
|
|
let serverVersionMajor = NCManageDatabase.shared.getCapabilitiesServerInt(account: account, elements: NCElementsJSON.shared.capabilitiesVersionMajor)
|
|
|
guard let tableAccount = NCManageDatabase.shared.getAccount(predicate: NSPredicate(format: "account == %@", account)) else {
|
|
|
- self.checkRemoteUserInProgress = false
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- if serverVersionMajor >= NCGlobal.shared.nextcloudVersion17 {
|
|
|
-
|
|
|
- if error.errorCode == NCGlobal.shared.errorUnauthorized {
|
|
|
-
|
|
|
- let token = CCUtility.getPassword(account)!
|
|
|
- if token == "" {
|
|
|
- self.checkRemoteUserInProgress = false
|
|
|
- return
|
|
|
- }
|
|
|
+ // remove all process ----
|
|
|
|
|
|
- NextcloudKit.shared.getRemoteWipeStatus(serverUrl: tableAccount.urlBase, token: token) { account, wipe, error in
|
|
|
+ NCNetworking.shared.cancelAllTransfer(account: account) { }
|
|
|
+ NCOperationQueue.shared.cancelAllQueue()
|
|
|
+ NCNetworking.shared.cancelAllTask()
|
|
|
|
|
|
- let appDelegate = UIApplication.shared.delegate as! AppDelegate
|
|
|
- if wipe {
|
|
|
+ // -----------------------
|
|
|
|
|
|
- appDelegate.deleteAccount(account, wipe: true)
|
|
|
- let error = NKError(errorCode: NCGlobal.shared.errorInternalError, errorDescription: "_wipe_account_")
|
|
|
- NCContentPresenter.shared.messageNotification(tableAccount.user, error: error, delay: NCGlobal.shared.dismissAfterSecondLong, type: NCContentPresenter.messageType.error, priority: .max)
|
|
|
- NextcloudKit.shared.setRemoteWipeCompletition(serverUrl: tableAccount.urlBase, token: token) { _, _ in print("wipe") }
|
|
|
+ if serverVersionMajor >= NCGlobal.shared.nextcloudVersion17 {
|
|
|
|
|
|
- } else {
|
|
|
+ let token = CCUtility.getPassword(account)!
|
|
|
+ if token.isEmpty {
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- if UIApplication.shared.applicationState == .active && NextcloudKit.shared.isNetworkReachable() && !CCUtility.getPassword(account).isEmpty && !appDelegate.deletePasswordSession {
|
|
|
- let description = String.localizedStringWithFormat(NSLocalizedString("_error_check_remote_user_", comment: ""), tableAccount.user, tableAccount.urlBase)
|
|
|
- let error = NKError(errorCode: error.errorCode, errorDescription: description)
|
|
|
- NCContentPresenter.shared.showError(error: error, priority: .max)
|
|
|
- CCUtility.setPassword(account, password: nil)
|
|
|
- appDelegate.deletePasswordSession = true
|
|
|
- }
|
|
|
- }
|
|
|
+ NextcloudKit.shared.getRemoteWipeStatus(serverUrl: tableAccount.urlBase, token: token) { account, wipe, error in
|
|
|
|
|
|
- self.checkRemoteUserInProgress = false
|
|
|
- }
|
|
|
+ let appDelegate = UIApplication.shared.delegate as! AppDelegate
|
|
|
+ if wipe {
|
|
|
|
|
|
- } else {
|
|
|
+ appDelegate.deleteAccount(account, wipe: true)
|
|
|
+ let error = NKError(errorCode: NCGlobal.shared.errorInternalError, errorDescription: "_wipe_account_")
|
|
|
+ NCContentPresenter.shared.messageNotification(tableAccount.user, error: error, delay: NCGlobal.shared.dismissAfterSecondLong, type: NCContentPresenter.messageType.error, priority: .max)
|
|
|
+ NextcloudKit.shared.setRemoteWipeCompletition(serverUrl: tableAccount.urlBase, token: token) { _, _ in print("wipe") }
|
|
|
|
|
|
- NCContentPresenter.shared.showError(error: error, priority: .max)
|
|
|
+ } else {
|
|
|
|
|
|
- self.checkRemoteUserInProgress = false
|
|
|
+ if UIApplication.shared.applicationState == .active && NextcloudKit.shared.isNetworkReachable() && !CCUtility.getPassword(account).isEmpty && !appDelegate.deletePasswordSession {
|
|
|
+ let description = String.localizedStringWithFormat(NSLocalizedString("_error_check_remote_user_", comment: ""), tableAccount.user, tableAccount.urlBase)
|
|
|
+ let error = NKError(errorCode: error.errorCode, errorDescription: description)
|
|
|
+ NCContentPresenter.shared.showError(error: error, priority: .max)
|
|
|
+ CCUtility.setPassword(account, password: nil)
|
|
|
+ appDelegate.deletePasswordSession = true
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
} else if CCUtility.getPassword(account) != "" {
|
|
@@ -94,8 +77,6 @@ import NextcloudKit
|
|
|
NCContentPresenter.shared.showError(error: error, priority: .max)
|
|
|
CCUtility.setPassword(account, password: nil)
|
|
|
}
|
|
|
-
|
|
|
- self.checkRemoteUserInProgress = false
|
|
|
}
|
|
|
}
|
|
|
}
|