aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
diff options
context:
space:
mode:
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