aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Models/Hotline.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/Models/Hotline.swift')
-rw-r--r--Hotline/Models/Hotline.swift16
1 files changed, 9 insertions, 7 deletions
diff --git a/Hotline/Models/Hotline.swift b/Hotline/Models/Hotline.swift
index 70f68a9..b83dc80 100644
--- a/Hotline/Models/Hotline.swift
+++ b/Hotline/Models/Hotline.swift
@@ -3,19 +3,21 @@ import SwiftUI
@Observable final class Hotline {
let trackerClient: HotlineTrackerClient
-
-
init(trackerClient: HotlineTrackerClient) {
self.trackerClient = trackerClient
}
- @MainActor func getServers(address: String, port: Int) async {
- let fetchedServers = await withCheckedContinuation { [weak self] continuation in
- self?.trackerClient.fetch() {
- continuation.resume(returning: [])
+ @MainActor func getServers(address: String, port: Int = Tracker.defaultPort) async -> [Server] {
+ let fetchedServers: [HotlineServer] = await self.trackerClient.fetchServers(address: address, port: port)
+
+ var servers: [Server] = []
+
+ for s in fetchedServers {
+ if let serverName = s.name {
+ servers.append(Server(name: serverName, description: s.description, address: s.address, port: Int(s.port), users: Int(s.users)))
}
}
-
+ return servers
}
}