Merge pull request #2244 from element-hq/feature/bma/encryptedDb2
Encrypted db
This commit is contained in:
commit
b4773d541f
18 changed files with 140 additions and 5 deletions
|
|
@ -33,6 +33,7 @@ internal fun SessionData.toDbModel(): DbSessionData {
|
|||
loginTimestamp = loginTimestamp?.time,
|
||||
isTokenValid = if (isTokenValid) 1L else 0L,
|
||||
loginType = loginType.name,
|
||||
passphrase = passphrase,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -48,5 +49,6 @@ internal fun DbSessionData.toApiModel(): SessionData {
|
|||
loginTimestamp = loginTimestamp?.let { Date(it) },
|
||||
isTokenValid = isTokenValid == 1L,
|
||||
loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name),
|
||||
passphrase = passphrase,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -21,7 +21,9 @@ CREATE TABLE SessionData (
|
|||
oidcData TEXT,
|
||||
-- added in version 4
|
||||
isTokenValid INTEGER NOT NULL DEFAULT 1,
|
||||
loginType TEXT
|
||||
loginType TEXT,
|
||||
-- added in version 5
|
||||
passphrase TEXT
|
||||
);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
-- Migrate DB from version 4
|
||||
|
||||
ALTER TABLE SessionData ADD COLUMN passphrase TEXT;
|
||||
|
|
@ -44,6 +44,7 @@ class DatabaseSessionStoreTests {
|
|||
oidcData = "aOidcData",
|
||||
isTokenValid = 1,
|
||||
loginType = LoginType.UNKNOWN.name,
|
||||
passphrase = null,
|
||||
)
|
||||
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
|
|
@ -137,6 +138,7 @@ class DatabaseSessionStoreTests {
|
|||
oidcData = "aOidcData",
|
||||
isTokenValid = 1,
|
||||
loginType = null,
|
||||
passphrase = "aPassphrase",
|
||||
)
|
||||
val secondSessionData = SessionData(
|
||||
userId = "userId",
|
||||
|
|
@ -149,6 +151,7 @@ class DatabaseSessionStoreTests {
|
|||
oidcData = "aOidcDataAltered",
|
||||
isTokenValid = 1,
|
||||
loginType = null,
|
||||
passphrase = "aPassphraseAltered",
|
||||
)
|
||||
assertThat(firstSessionData.userId).isEqualTo(secondSessionData.userId)
|
||||
assertThat(firstSessionData.loginTimestamp).isNotEqualTo(secondSessionData.loginTimestamp)
|
||||
|
|
@ -168,5 +171,6 @@ class DatabaseSessionStoreTests {
|
|||
// Check that alteredSession.loginTimestamp is not altered, so equal to firstSessionData.loginTimestamp
|
||||
assertThat(alteredSession.loginTimestamp).isEqualTo(firstSessionData.loginTimestamp)
|
||||
assertThat(alteredSession.oidcData).isEqualTo(secondSessionData.oidcData)
|
||||
assertThat(alteredSession.passphrase).isEqualTo(secondSessionData.passphrase)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue