Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Commit

Permalink
chore(app): create object to handler default error message
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreaBrighi committed Jul 9, 2023
1 parent f281551 commit 98d4ba1
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 38 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.intelligentbackpack.app.exceptionhandler

object ExceptionMessage {

fun Throwable.messageOrDefault(): String {
return this.message ?: "Unknown error"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
import com.intelligentbackpack.app.App
import com.intelligentbackpack.app.exceptionhandler.ExceptionMessage.messageOrDefault
import com.intelligentbackpack.app.viewdata.SchoolSupplyView
import com.intelligentbackpack.app.viewdata.adapter.SchoolSupplyAdapter.fromDomainToView
import com.intelligentbackpack.desktopdomain.usecase.DesktopUseCase
Expand Down Expand Up @@ -49,7 +50,7 @@ class BackpackViewModel(
.onSuccess {
isBackpackAssociatedImpl.postValue(it.isBackpackAssociated)
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -72,7 +73,7 @@ class BackpackViewModel(
isBackpackAssociatedImpl.postValue(true)
success()
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -98,12 +99,12 @@ class BackpackViewModel(
success()
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -117,11 +118,6 @@ class BackpackViewModel(
error: (error: String) -> Unit,
) {
viewModelScope.launch {
/*(1..10).asFlow().map { (0..it).toSet() }.flowOn(Dispatchers.IO).collect {
viewModelScope.launch(Dispatchers.Main) {
backpackImpl.postValue(it)
}
}*/
desktopUseCase.subscribeToBackpack()
.onSuccess {
viewModelScope.launch(Dispatchers.IO) {
Expand All @@ -134,7 +130,7 @@ class BackpackViewModel(
}
}
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
import com.intelligentbackpack.app.App
import com.intelligentbackpack.app.exceptionhandler.ExceptionMessage.messageOrDefault
import com.intelligentbackpack.app.viewdata.BookView
import com.intelligentbackpack.app.viewdata.EventView
import com.intelligentbackpack.app.viewdata.SchoolSupplyView
Expand Down Expand Up @@ -70,7 +71,7 @@ class CalendarViewModel(
)
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down Expand Up @@ -108,7 +109,7 @@ class CalendarViewModel(
)
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down Expand Up @@ -154,7 +155,7 @@ class CalendarViewModel(
success()
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down Expand Up @@ -183,7 +184,7 @@ class CalendarViewModel(
)
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -201,7 +202,7 @@ class CalendarViewModel(
success(it)
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
import com.intelligentbackpack.accessdomain.usecase.AccessUseCase
import com.intelligentbackpack.app.App
import com.intelligentbackpack.app.exceptionhandler.ExceptionMessage.messageOrDefault
import com.intelligentbackpack.app.viewdata.UserView
import com.intelligentbackpack.app.viewdata.adapter.UserAdapter.fromDomainToView
import com.intelligentbackpack.reminderdomain.usecase.ReminderUseCase
Expand Down Expand Up @@ -52,7 +53,7 @@ class HomeViewModel(
success(user.fromDomainToView())
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -71,7 +72,7 @@ class HomeViewModel(
}
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -89,7 +90,7 @@ class HomeViewModel(
success()
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.lifecycle.viewmodel.viewModelFactory
import com.intelligentbackpack.accessdomain.entities.User
import com.intelligentbackpack.accessdomain.usecase.AccessUseCase
import com.intelligentbackpack.app.App
import com.intelligentbackpack.app.exceptionhandler.ExceptionMessage.messageOrDefault
import com.intelligentbackpack.app.viewdata.UserView
import com.intelligentbackpack.app.viewdata.adapter.UserAdapter.fromViewToDomain
import kotlinx.coroutines.launch
Expand Down Expand Up @@ -39,16 +40,23 @@ class LoginViewModel(
.onSuccess { user ->
success(user)
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}

/**
* Check if the user is logged.
*
* @param success the success callback.
*/
fun isUserLogged(success: (Boolean) -> Unit) {
viewModelScope.launch {
accessUseCase.isUserLogged()
.onSuccess {
success(it)
}.onFailure {
success(false)
}
}
}
Expand All @@ -69,7 +77,7 @@ class LoginViewModel(
success(user)
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -92,7 +100,7 @@ class LoginViewModel(
success(it)
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
import com.intelligentbackpack.app.App
import com.intelligentbackpack.app.exceptionhandler.ExceptionMessage.messageOrDefault
import com.intelligentbackpack.app.viewdata.SchoolSupplyView
import com.intelligentbackpack.app.viewdata.adapter.SchoolSupplyAdapter.fromDomainToView
import com.intelligentbackpack.reminderdomain.usecase.ReminderUseCase
Expand Down Expand Up @@ -48,7 +49,7 @@ class ReminderViewModel(
viewModelScope.launch {
reminderUseCase.isBackpackAssociated()
.onSuccess { success(it) }
.onFailure { error(it.message ?: "Unknown error") }
.onFailure { error(it.messageOrDefault()) }
}
}

Expand All @@ -68,7 +69,7 @@ class ReminderViewModel(
}
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
import com.intelligentbackpack.app.App
import com.intelligentbackpack.app.exceptionhandler.ExceptionMessage.messageOrDefault
import com.intelligentbackpack.app.viewdata.BookView
import com.intelligentbackpack.app.viewdata.SchoolSupplyView
import com.intelligentbackpack.app.viewdata.adapter.BookAdapter.fromDomainToView
Expand Down Expand Up @@ -54,7 +55,7 @@ class SchoolSupplyViewModel(
.onSuccess { desktop ->
schoolSuppliesImpl.postValue(desktop.schoolSupplies.map { it.fromDomainToView() }.toSet())
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -77,7 +78,7 @@ class SchoolSupplyViewModel(
).onSuccess {
schoolSupplyImpl.postValue(it?.fromDomainToView())
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -101,30 +102,29 @@ class SchoolSupplyViewModel(
success(it.fromDomainToView())
} ?: error("Book not found")
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
/*
success(
Book.build {
this.isbn = isbn
this.title = "The Art of Computer Programming"
this.authors = setOf("Donald Knuth")
}.fromDomainToView()
)*/
}
} else {
error("Invalid ISBN")
}
}

/**
* Creates a school supply.
*
* @param schoolSupplyView the school supply view.
* @param success the success callback.
* @param error the error callback.
*/
fun createSchoolSupply(schoolSupplyView: SchoolSupplyView, success: () -> Unit, error: (String) -> Unit) {
viewModelScope.launch {
desktopUseCase.addSchoolSupply(schoolSupplyView.fromViewToDomain())
.onSuccess {
schoolSuppliesImpl.postValue(it.schoolSupplies.map { it.fromDomainToView() }.toSet())
success()
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
import com.intelligentbackpack.accessdomain.usecase.AccessUseCase
import com.intelligentbackpack.app.App
import com.intelligentbackpack.app.exceptionhandler.ExceptionMessage.messageOrDefault
import com.intelligentbackpack.app.viewdata.UserView
import com.intelligentbackpack.app.viewdata.adapter.UserAdapter.fromDomainToView
import kotlinx.coroutines.launch
Expand Down Expand Up @@ -38,7 +39,7 @@ class UserViewModel(
success(user.fromDomainToView())
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -56,7 +57,7 @@ class UserViewModel(
success()
}
.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand All @@ -73,7 +74,7 @@ class UserViewModel(
userImpl.postValue(null)
success()
}.onFailure {
error(it.message ?: "Unknown error")
error(it.messageOrDefault())
}
}
}
Expand Down

0 comments on commit 98d4ba1

Please sign in to comment.