aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-01-25 22:49:10 -0600
committerIván Ávalos <avalos@disroot.org>2022-01-25 22:49:10 -0600
commitb4785c42aa026a561674257955a7c59b8c964e6f (patch)
tree1c4e3e9f74e92a222e9f0cffae0457befe39741e /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/SessionManager.kt
parent4a85207614840d340167000e4d66649fdd462901 (diff)
downloadetbsa-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.kt27
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