Map the new fields of SessionData.

This commit is contained in:
Benoit Marty 2023-10-09 15:59:28 +02:00 committed by Benoit Marty
parent 87fa394b93
commit fea1fe0f3c
7 changed files with 83 additions and 5 deletions

View file

@ -16,6 +16,7 @@
package io.element.android.libraries.sessionstorage.impl
import io.element.android.libraries.sessionstorage.api.LoginType
import io.element.android.libraries.sessionstorage.api.SessionData
import java.util.Date
import io.element.android.libraries.matrix.session.SessionData as DbSessionData
@ -30,6 +31,8 @@ internal fun SessionData.toDbModel(): DbSessionData {
oidcData = oidcData,
slidingSyncProxy = slidingSyncProxy,
loginTimestamp = loginTimestamp?.time,
isTokenValid = if (isTokenValid) 1L else 0L,
loginType = loginType.name,
)
}
@ -42,6 +45,8 @@ internal fun DbSessionData.toApiModel(): SessionData {
homeserverUrl = homeserverUrl,
oidcData = oidcData,
slidingSyncProxy = slidingSyncProxy,
loginTimestamp = loginTimestamp?.let { Date(it) }
loginTimestamp = loginTimestamp?.let { Date(it) },
isTokenValid = (isTokenValid ?: 1) == 1L,
loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name),
)
}

View file

@ -38,6 +38,8 @@ class DatabaseSessionStoreTests {
slidingSyncProxy = null,
loginTimestamp = null,
oidcData = "aOidcData",
isTokenValid = null,
loginType = null,
)
@Before
@ -121,6 +123,8 @@ class DatabaseSessionStoreTests {
slidingSyncProxy = "slidingSyncProxy",
loginTimestamp = 1,
oidcData = "aOidcData",
isTokenValid = null,
loginType = null,
)
val secondSessionData = SessionData(
userId = "userId",
@ -131,6 +135,8 @@ class DatabaseSessionStoreTests {
slidingSyncProxy = "slidingSyncProxyAltered",
loginTimestamp = 2,
oidcData = "aOidcDataAltered",
isTokenValid = null,
loginType = null,
)
assertThat(firstSessionData.userId).isEqualTo(secondSessionData.userId)
assertThat(firstSessionData.loginTimestamp).isNotEqualTo(secondSessionData.loginTimestamp)