diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-01-25 22:49:10 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-01-25 22:49:10 -0600 |
commit | b4785c42aa026a561674257955a7c59b8c964e6f (patch) | |
tree | 1c4e3e9f74e92a222e9f0cffae0457befe39741e /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt | |
parent | 4a85207614840d340167000e4d66649fdd462901 (diff) | |
download | etbsa-trackermap-mobile-b4785c42aa026a561674257955a7c59b8c964e6f.tar.gz etbsa-trackermap-mobile-b4785c42aa026a561674257955a7c59b8c964e6f.tar.bz2 etbsa-trackermap-mobile-b4785c42aa026a561674257955a7c59b8c964e6f.zip |
Refactored session handling into a shared SessionManager to prevent mutability and get it run in Native (untested!)
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt')
-rw-r--r-- | shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt new file mode 100644 index 0000000..306533c --- /dev/null +++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt @@ -0,0 +1,27 @@ +package mx.trackermap.TrackerMap.client.infrastructure + +import com.russhwolf.settings.Settings +import com.russhwolf.settings.get +import com.russhwolf.settings.set +import mx.trackermap.TrackerMap.client.apis.ACCESS_TOKEN_KEY +import mx.trackermap.TrackerMap.client.apis.SERVER_URL_KEY + +class SessionManager( + private val defaultBaseUrl: String +) { + + private val settings = Settings() + + var baseUrl: String + get() = settings[SERVER_URL_KEY] ?: defaultBaseUrl + set(baseUrl) { + settings[SERVER_URL_KEY] = baseUrl + } + + var token: String + get() = settings[ACCESS_TOKEN_KEY] ?: "" + set(token) { + settings[ACCESS_TOKEN_KEY] = token + } + +}
\ No newline at end of file |