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 {
LoggedInState.LoggedIn(
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,
slidingSyncProxy = slidingSyncProxy,
loginTimestamp = loginTimestamp?.let { Date(it) },
isTokenValid = (isTokenValid ?: 1) == 1L,
isTokenValid = isTokenValid == 1L,
loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name),
)
}

View File

@@ -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
);

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,
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)