From 96867bccf20f3cb22e33b34d78117d6355f0a789 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 10 Oct 2023 09:55:47 +0200 Subject: [PATCH] Database version 4: add isTokenValid and loginType fields Generate database with model version 4 --- .../sessionstorage/impl/DatabaseSessionStore.kt | 2 +- .../sessionstorage/impl/SessionDataMapper.kt | 2 +- .../impl/src/main/sqldelight/databases/4.db | Bin 0 -> 12288 bytes .../libraries/matrix/session/SessionData.sq | 4 +++- .../impl/src/main/sqldelight/migrations/3.sqm | 2 ++ .../impl/DatabaseSessionStoreTests.kt | 6 +++--- 6 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 libraries/session-storage/impl/src/main/sqldelight/databases/4.db create mode 100644 libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm diff --git a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt index 1592e7646e..0ca63d52a7 100644 --- a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt +++ b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt @@ -46,7 +46,7 @@ class DatabaseSessionStore @Inject constructor( } else { LoggedInState.LoggedIn( sessionId = it.userId, - isTokenValid = (it.isTokenValid ?: 1) == 1L + isTokenValid = it.isTokenValid == 1L ) } } diff --git a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt index 7c00d98f91..1a81647f5c 100644 --- a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt +++ b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt @@ -46,7 +46,7 @@ internal fun DbSessionData.toApiModel(): SessionData { oidcData = oidcData, slidingSyncProxy = slidingSyncProxy, loginTimestamp = loginTimestamp?.let { Date(it) }, - isTokenValid = (isTokenValid ?: 1) == 1L, + isTokenValid = isTokenValid == 1L, loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name), ) } diff --git a/libraries/session-storage/impl/src/main/sqldelight/databases/4.db b/libraries/session-storage/impl/src/main/sqldelight/databases/4.db new file mode 100644 index 0000000000000000000000000000000000000000..f2e7eb964f4cd9384e8858a2b768500082887ce0 GIT binary patch literal 12288 zcmeI#K}*9h6bJBhips!kw_O9fD2O29-Kj;&>YQCC+iAo$-GW^++iq@G@dNmk{8k=K zTBcQmogM!`+P=P*wE4A{bnk4DavI2Z!cuxlYQ!+eIi-XUL-j4yS53#;t3aJ~ysjDK zxb?PQ{UD`EKq^7?ecb@$ApijgKmY;|fB*y_009U<;6Dqz^o`wmqhY*0r|co*U7jRD zMprClh0D^VV>Vrry3GsQq=f`MC{xvD36CwGx@O;{?OWA*woN;Zb<=bPv}F#CvMQg? zg~xx_dCHrz{}fB*y_009U<00Izz00bbg ksRCuaFzo*~_48s~5P$##AOHafKmY;|fB*y_0D(;46J-*Fv;Y7A literal 0 HcmV?d00001 diff --git a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq index 05049c5635..8cebfbe5e2 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq +++ b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq @@ -6,7 +6,9 @@ CREATE TABLE SessionData ( homeserverUrl TEXT NOT NULL, slidingSyncProxy TEXT, loginTimestamp INTEGER, - oidcData TEXT + oidcData TEXT, + isTokenValid INTEGER NOT NULL, + loginType TEXT ); diff --git a/libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm b/libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm new file mode 100644 index 0000000000..c4d0743ff5 --- /dev/null +++ b/libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm @@ -0,0 +1,2 @@ +ALTER TABLE SessionData ADD COLUMN isTokenValid INTEGER NOT NULL DEFAULT 1; +ALTER TABLE SessionData ADD COLUMN loginType TEXT; diff --git a/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTests.kt b/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTests.kt index fbb1daf097..ab0b41194e 100644 --- a/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTests.kt +++ b/libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTests.kt @@ -39,7 +39,7 @@ class DatabaseSessionStoreTests { slidingSyncProxy = null, loginTimestamp = null, oidcData = "aOidcData", - isTokenValid = null, + isTokenValid = 1, loginType = null, ) @@ -124,7 +124,7 @@ class DatabaseSessionStoreTests { slidingSyncProxy = "slidingSyncProxy", loginTimestamp = 1, oidcData = "aOidcData", - isTokenValid = null, + isTokenValid = 1, loginType = null, ) val secondSessionData = SessionData( @@ -136,7 +136,7 @@ class DatabaseSessionStoreTests { slidingSyncProxy = "slidingSyncProxyAltered", loginTimestamp = 2, oidcData = "aOidcDataAltered", - isTokenValid = null, + isTokenValid = 1, loginType = null, ) assertThat(firstSessionData.userId).isEqualTo(secondSessionData.userId)