- Replace ServerConnectivity with CheckServerReachabilityUseCase - Add InfoApiClient for /api/info endpoint - Implement ServerInfoRepository with 30s cache TTL and 5s rate limiting - Update ShareBookmarkViewModel to use ShareExtensionServerCheck manager - Add server reachability check in AppViewModel on app start - Update OfflineSyncManager to use new UseCase - Extend SimpleAPI with checkServerReachability for Share Extension
22 lines
490 B
Swift
22 lines
490 B
Swift
import Foundation
|
|
|
|
struct ServerInfo {
|
|
let version: String
|
|
let buildDate: String?
|
|
let userAgent: String?
|
|
let isReachable: Bool
|
|
}
|
|
|
|
extension ServerInfo {
|
|
init(from dto: ServerInfoDto) {
|
|
self.version = dto.version
|
|
self.buildDate = dto.buildDate
|
|
self.userAgent = dto.userAgent
|
|
self.isReachable = true
|
|
}
|
|
|
|
static var unreachable: ServerInfo {
|
|
ServerInfo(version: "", buildDate: nil, userAgent: nil, isReachable: false)
|
|
}
|
|
}
|