IceCubesApp/Packages/Env/Sources/Env/CurrentAccount.swift

32 lines
587 B
Swift
Raw Normal View History

2022-12-22 10:19:56 +00:00
import Foundation
import Models
import Network
@MainActor
public class CurrentAccount: ObservableObject {
@Published public private(set) var account: Account?
private var client: Client?
public init() {
}
public func setClient(client: Client) {
self.client = client
Task {
await fetchCurrentAccount()
}
}
public func fetchCurrentAccount() async {
guard let client = client, client.isAuth else {
account = nil
return
}
2022-12-22 10:19:56 +00:00
Task {
account = try? await client.get(endpoint: Accounts.verifyCredentials)
}
}
}