2023-01-25 20:18:34 +00:00
|
|
|
import Foundation
|
|
|
|
import SwiftUI
|
|
|
|
|
|
|
|
public struct AppAccount: Codable, Identifiable, Hashable {
|
|
|
|
public let server: String
|
|
|
|
public var accountName: String?
|
|
|
|
public let oauthToken: OauthToken?
|
2023-01-27 19:36:40 +00:00
|
|
|
|
2023-01-25 20:18:34 +00:00
|
|
|
public var key: String {
|
|
|
|
if let oauthToken {
|
|
|
|
return "\(server):\(oauthToken.createdAt)"
|
|
|
|
} else {
|
2023-01-26 21:07:21 +00:00
|
|
|
return "\(server):anonymous"
|
2023-01-25 20:18:34 +00:00
|
|
|
}
|
|
|
|
}
|
2023-01-27 19:36:40 +00:00
|
|
|
|
2023-01-25 20:18:34 +00:00
|
|
|
public var id: String {
|
|
|
|
key
|
|
|
|
}
|
2023-01-27 19:36:40 +00:00
|
|
|
|
2023-01-25 20:18:34 +00:00
|
|
|
public init(server: String,
|
|
|
|
accountName: String?,
|
2023-01-27 19:36:40 +00:00
|
|
|
oauthToken: OauthToken? = nil)
|
|
|
|
{
|
2023-01-25 20:18:34 +00:00
|
|
|
self.server = server
|
|
|
|
self.accountName = accountName
|
|
|
|
self.oauthToken = oauthToken
|
|
|
|
}
|
|
|
|
}
|
2023-02-27 05:39:07 +00:00
|
|
|
|
|
|
|
extension AppAccount: Sendable {}
|