25 lines
528 B
Swift
25 lines
528 B
Swift
|
|
import Foundation
|
||
|
|
|
||
|
|
enum AuthMode: String, Codable, CaseIterable {
|
||
|
|
case guest
|
||
|
|
case password
|
||
|
|
}
|
||
|
|
|
||
|
|
struct SavedServer: Codable, Identifiable {
|
||
|
|
var id: UUID = UUID()
|
||
|
|
var host: String
|
||
|
|
var port: UInt16
|
||
|
|
var authMode: AuthMode
|
||
|
|
var savedUsername: String?
|
||
|
|
var keychainTag: String?
|
||
|
|
|
||
|
|
var displayString: String {
|
||
|
|
switch authMode {
|
||
|
|
case .guest:
|
||
|
|
return "\(host):\(port) (Guest)"
|
||
|
|
case .password:
|
||
|
|
return "\(savedUsername ?? "")@\(host):\(port)"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|