aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/SessionApi.kt
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/SessionApi.kt')
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/SessionApi.kt15
1 files changed, 5 insertions, 10 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/SessionApi.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/SessionApi.kt
index 3f90c4c..a22d2d9 100644
--- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/SessionApi.kt
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/apis/SessionApi.kt
@@ -11,14 +11,11 @@
*/
package mx.trackermap.TrackerMap.client.apis
-import com.russhwolf.settings.Settings
+import mx.trackermap.TrackerMap.Injectable
import mx.trackermap.TrackerMap.client.models.User
import mx.trackermap.TrackerMap.client.infrastructure.*
-const val SERVER_URL_KEY = "server_url"
-const val ACCESS_TOKEN_KEY = "access_token"
-
-class SessionApi(defaultBaseUrl: String) : ApiClient(defaultBaseUrl) {
+class SessionApi(sessionManager: SessionManager) : ApiClient(sessionManager), Injectable {
/**
* Close the Session
@@ -36,8 +33,7 @@ class SessionApi(defaultBaseUrl: String) : ApiClient(defaultBaseUrl) {
return when (response.responseType) {
ResponseType.Success -> {
- val settings = Settings()
- settings.remove(ACCESS_TOKEN_KEY)
+ sessionManager.clearSession()
}
ResponseType.Informational -> TODO()
ResponseType.Redirection -> TODO()
@@ -102,14 +98,13 @@ class SessionApi(defaultBaseUrl: String) : ApiClient(defaultBaseUrl) {
return when (response.responseType) {
ResponseType.Success -> {
+ print("Response headers = ${response.headers.values}\n")
val cookie = response.headers
.values
.flatten()
.find { it.contains("JSESSIONID") }!!
.replace("; Path=/", "")
- this.token = cookie
- val settings = Settings()
- settings.putString(ACCESS_TOKEN_KEY, cookie)
+ this.sessionManager.token = cookie
(response as Success<*>).data as User
}
ResponseType.Informational -> TODO()