fix: server visually stays when deleted + crash

This commit is contained in:
Jarne Demeulemeester 2023-09-25 22:22:34 +02:00
parent 0512d89bee
commit c43087b1a8
No known key found for this signature in database
GPG key ID: 1E5C6AFBD622E9F5

View file

@ -37,11 +37,15 @@ constructor(
init {
viewModelScope.launch {
val servers = database.getAllServersSync()
_uiState.emit(UiState.Normal(servers))
loadServers()
}
}
private suspend fun loadServers() {
val servers = database.getAllServersSync()
_uiState.emit(UiState.Normal(servers))
}
/**
* Delete server from database
*
@ -50,12 +54,13 @@ constructor(
fun deleteServer(server: Server) {
viewModelScope.launch(Dispatchers.IO) {
database.delete(server.id)
loadServers()
}
}
fun connectToServer(server: Server) {
viewModelScope.launch {
val serverWithAddressesAndUsers = database.getServerWithAddressesAndUsers(server.id)!!
val serverWithAddressesAndUsers = database.getServerWithAddressesAndUsers(server.id) ?: return@launch
val serverAddress = serverWithAddressesAndUsers.addresses.firstOrNull { it.id == server.currentServerAddressId } ?: return@launch
val user = serverWithAddressesAndUsers.users.firstOrNull { it.id == server.currentUserId } ?: return@launch