aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-01-20 21:26:02 -0600
committerIván Ávalos <avalos@disroot.org>2022-01-20 21:26:02 -0600
commit83efbccf0a3783ace6d91073d391bce6924553a9 (patch)
treeaedd31f46b8dfc18aaad9a3263f3d6be0399691b /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
parent968d39d0ffbb27beebc931618764360878477c27 (diff)
parent7da841d2de9ac0526c3863e85d7d603facabb95c (diff)
downloadetbsa-trackermap-mobile-83efbccf0a3783ace6d91073d391bce6924553a9.tar.gz
etbsa-trackermap-mobile-83efbccf0a3783ace6d91073d391bce6924553a9.tar.bz2
etbsa-trackermap-mobile-83efbccf0a3783ace6d91073d391bce6924553a9.zip
Merge url_switch from upstream and branded
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt')
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt9
1 files changed, 9 insertions, 0 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
index 2ce4dc6..7d944b7 100644
--- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
@@ -20,6 +20,7 @@ class SessionController(
sealed class LoginState {
object Nothing: LoginState()
object Loading: LoginState()
+ object UrlMissing: LoginState()
object EmailMissing : LoginState()
object PasswordMissing : LoginState()
object Failure : LoginState()
@@ -58,10 +59,16 @@ class SessionController(
}
fun login(body: SessionBody) {
+ val url = body.url.trim()
val email = body.email.trim()
val password = body.password.trim()
val token = body.fcmToken
+ if (url.isEmpty()) {
+ loginStateFlow.value = LoginState.UrlMissing
+ return
+ }
+
if (email.isEmpty()) {
loginStateFlow.value = LoginState.EmailMissing
return
@@ -75,6 +82,8 @@ class SessionController(
loginStateFlow.value = LoginState.Loading
GlobalScope.launch {
try {
+ sessionApi.baseUrl = url
+ usersApi.baseUrl = sessionApi.baseUrl
val session = sessionApi.sessionPost(email, password)
userFlow.value = session
usersApi.token = sessionApi.token