Database version 4: add isTokenValid and loginType fields

Generate database with model version 4
This commit is contained in:
Benoit Marty 2023-10-10 09:55:47 +02:00
parent 4a79d1f7b2
commit 920626d260
6 changed files with 10 additions and 6 deletions

View file

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

View file

@ -46,7 +46,7 @@ internal fun DbSessionData.toApiModel(): SessionData {
oidcData = oidcData, oidcData = oidcData,
slidingSyncProxy = slidingSyncProxy, slidingSyncProxy = slidingSyncProxy,
loginTimestamp = loginTimestamp?.let { Date(it) }, loginTimestamp = loginTimestamp?.let { Date(it) },
isTokenValid = (isTokenValid ?: 1) == 1L, isTokenValid = isTokenValid == 1L,
loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name), loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name),
) )
} }

View file

@ -6,7 +6,9 @@ CREATE TABLE SessionData (
homeserverUrl TEXT NOT NULL, homeserverUrl TEXT NOT NULL,
slidingSyncProxy TEXT, slidingSyncProxy TEXT,
loginTimestamp INTEGER, loginTimestamp INTEGER,
oidcData TEXT oidcData TEXT,
isTokenValid INTEGER NOT NULL,
loginType TEXT
); );

View file

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

View file

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