Privacy: IS Settings: Fix flow after terms has been accepted

##2736
I was using a HS access token for IS...
This commit is contained in:
manuroe
2019-09-26 17:39:50 +02:00
parent cec9506f82
commit 4a8ad57411

View File

@@ -115,20 +115,27 @@ final class SettingsIdentityServerViewModel: SettingsIdentityServerViewModelType
if termsAgreed {
canAddcompletion()
} else {
guard let accessToken = self.session.matrixRestClient.credentials.accessToken else {
print("[SettingsIdentityServerViewModel] checkCanAddIdentityServer: Error: No access token")
viewStateUpdate(.error(SettingsIdentityServerViewModelError.unknown))
return
}
self.accessToken(identityServer: newIdentityServer) { (response) in
switch response {
case .success(let accessToken):
guard let accessToken = accessToken else {
print("[SettingsIdentityServerViewModel] accessToken: Error: No access token")
viewStateUpdate(.error(SettingsIdentityServerViewModelError.unknown))
return
}
// Present terms
viewStateUpdate(.presentTerms(session: self.session, accessToken: accessToken, baseUrl: newIdentityServer, onComplete: { (areTermsAccepted) in
if areTermsAccepted {
canAddcompletion()
} else {
viewStateUpdate(.alert(alert: SettingsIdentityServerAlert.addActionAlert(.termsNotAccepted(newHost: newIdentityServer)), onContinue: {}))
// Present terms
viewStateUpdate(.presentTerms(session: self.session, accessToken: accessToken, baseUrl: newIdentityServer, onComplete: { (areTermsAccepted) in
if areTermsAccepted {
canAddcompletion()
} else {
viewStateUpdate(.alert(alert: SettingsIdentityServerAlert.addActionAlert(.termsNotAccepted(newHost: newIdentityServer)), onContinue: {}))
}
}))
case .failure(let error):
self.update(viewState: .error(error))
}
}))
}
}
}
}