IceCubesApp/Packages/Models/Sources/Models/AppAccount.swift

32 lines
641 B
Swift
Raw Normal View History

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
public var key: String {
if let oauthToken {
return "\(server):\(oauthToken.createdAt)"
} else {
return "\(server):anonymous"
}
}
2023-01-27 19:36:40 +00:00
public var id: String {
key
}
2023-01-27 19:36:40 +00:00
public init(server: String,
accountName: String?,
2023-01-27 19:36:40 +00:00
oauthToken: OauthToken? = nil)
{
self.server = server
self.accountName = accountName
self.oauthToken = oauthToken
}
}
extension AppAccount: Sendable {}