diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-05 22:27:17 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-02-05 22:27:17 +0100 |
| commit | 45829daa856b376b1ab04d415917110b71b1dec5 (patch) | |
| tree | 8e52daed6897b6f489d455736fe256cb9bd90fef /Hotline/Models/Server.swift | |
| parent | 5c3ea897d062a47bc8cd6255fb8c36bad2f0733f (diff) | |
Apply formatting
Diffstat (limited to 'Hotline/Models/Server.swift')
| -rw-r--r-- | Hotline/Models/Server.swift | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/Hotline/Models/Server.swift b/Hotline/Models/Server.swift index 3f4c9e8..a3e3dde 100644 --- a/Hotline/Models/Server.swift +++ b/Hotline/Models/Server.swift @@ -4,14 +4,18 @@ struct Server: Codable { var name: String? var description: String? var users: Int - + var address: String var port: Int var login: String var password: String var autoconnect: Bool = false - - init(name: String?, description: String?, address: String, port: Int = HotlinePorts.DefaultServerPort, users: Int = 0, login: String? = nil, password: String? = nil, autoconnect: Bool? = false) { + + init( + name: String?, description: String?, address: String, + port: Int = HotlinePorts.DefaultServerPort, users: Int = 0, login: String? = nil, + password: String? = nil, autoconnect: Bool? = false + ) { self.name = name self.description = description self.address = address.lowercased() @@ -21,27 +25,27 @@ struct Server: Codable { self.password = password ?? "" self.autoconnect = autoconnect ?? false } - + init?(url: URL) { guard url.scheme?.lowercased() == "hotline" else { return nil } - + guard let host = url.host(percentEncoded: false) else { return nil } - + self.name = nil self.description = nil self.users = 0 - + self.address = host.lowercased() self.port = url.port ?? HotlinePorts.DefaultServerPort - + self.login = url.user(percentEncoded: false) ?? "" self.password = url.password(percentEncoded: false) ?? "" } - + static func parseServerAddressAndPort(_ address: String) -> (String, Int) { let url = URL(string: "hotline://\(address)") let port = url?.port ?? HotlinePorts.DefaultServerPort @@ -56,7 +60,8 @@ extension Server: Identifiable { extension Server: Equatable { static func == (lhs: Server, rhs: Server) -> Bool { - return (lhs.address == rhs.address) && (lhs.port == rhs.port) && (lhs.login == rhs.login) && (lhs.password == rhs.password) + return (lhs.address == rhs.address) && (lhs.port == rhs.port) && (lhs.login == rhs.login) + && (lhs.password == rhs.password) } } |