Browse Source

Database version 4: add isTokenValid and loginType fields

Generate database with model version 4
pull/1520/head
Benoit Marty 12 months ago
parent
commit
96867bccf2
  1. 2
      libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt
  2. 2
      libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt
  3. BIN
      libraries/session-storage/impl/src/main/sqldelight/databases/4.db
  4. 4
      libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq
  5. 2
      libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm
  6. 6
      libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTests.kt

2
libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStore.kt

@ -46,7 +46,7 @@ class DatabaseSessionStore @Inject constructor( @@ -46,7 +46,7 @@ class DatabaseSessionStore @Inject constructor(
} else {
LoggedInState.LoggedIn(
sessionId = it.userId,
isTokenValid = (it.isTokenValid ?: 1) == 1L
isTokenValid = it.isTokenValid == 1L
)
}
}

2
libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt

@ -46,7 +46,7 @@ internal fun DbSessionData.toApiModel(): SessionData { @@ -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),
)
}

BIN
libraries/session-storage/impl/src/main/sqldelight/databases/4.db

Binary file not shown.

4
libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq

@ -6,7 +6,9 @@ CREATE TABLE SessionData ( @@ -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
);

2
libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
ALTER TABLE SessionData ADD COLUMN isTokenValid INTEGER NOT NULL DEFAULT 1;
ALTER TABLE SessionData ADD COLUMN loginType TEXT;

6
libraries/session-storage/impl/src/test/kotlin/io/element/android/libraries/sessionstorage/impl/DatabaseSessionStoreTests.kt

@ -39,7 +39,7 @@ class DatabaseSessionStoreTests { @@ -39,7 +39,7 @@ class DatabaseSessionStoreTests {
slidingSyncProxy = null,
loginTimestamp = null,
oidcData = "aOidcData",
isTokenValid = null,
isTokenValid = 1,
loginType = null,
)
@ -124,7 +124,7 @@ class DatabaseSessionStoreTests { @@ -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 { @@ -136,7 +136,7 @@ class DatabaseSessionStoreTests {
slidingSyncProxy = "slidingSyncProxyAltered",
loginTimestamp = 2,
oidcData = "aOidcDataAltered",
isTokenValid = null,
isTokenValid = 1,
loginType = null,
)
assertThat(firstSessionData.userId).isEqualTo(secondSessionData.userId)

Loading…
Cancel
Save