Rocket.Chat.ReactNative/ios/RocketChat Watch App/ActionHandler/ErrorActionHandler.swift

30 lines
574 B
Swift

protocol ErrorActionHandling {
func handle(error: RocketChatError)
}
final class ErrorActionHandler {
@Dependency private var database: Database
@Dependency private var serversDB: ServersDatabase
@Dependency private var router: AppRouting
private let server: Server
init(server: Server) {
self.server = server
}
}
extension ErrorActionHandler: ErrorActionHandling {
func handle(error: RocketChatError) {
switch error {
case .unauthorized:
router.route(to: .serverList)
database.remove()
serversDB.remove(server)
default:
break
}
}
}