Implement new ClientBuilder pattern for login (#120)

* Implement new ClientBuilder pattern for login

* Add changelog
This commit is contained in:
Anderas
2022-06-30 08:10:59 +01:00
committed by GitHub
parent 7bd4763662
commit dd739d4766
7 changed files with 27 additions and 17 deletions
@@ -78,9 +78,14 @@ class UserSessionStore: UserSessionStoreProtocol {
Benchmark.startTrackingForIdentifier("Login", message: "Started restoring previous login")
let basePath = baseDirectoryPath(for: usernameTokenTuple.username)
let loginTask = Task.detached {
try loginWithToken(basePath: basePath,
restoreToken: usernameTokenTuple.accessToken)
let builder = ClientBuilder()
.basePath(path: basePath)
.username(username: usernameTokenTuple.username)
let loginTask: Task<Client, Error> = Task.detached {
let client = try builder.build()
try client.restoreLogin(restoreToken: usernameTokenTuple.accessToken)
return client
}
switch await loginTask.result {