Browse Source

SessionData: add the passphrase.

pull/2244/head
Benoit Marty 8 months ago committed by Benoit Marty
parent
commit
f9c1892f2f
  1. 1
      features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt
  2. 2
      libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt
  3. 1
      libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionData.kt
  4. 2
      libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt
  5. BIN
      libraries/session-storage/impl/src/main/sqldelight/databases/5.db
  6. 4
      libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq
  7. 3
      libraries/session-storage/impl/src/main/sqldelight/migrations/4.sqm

1
features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt

@ -50,5 +50,6 @@ fun aSessionData(
loginTimestamp = null, loginTimestamp = null,
isTokenValid = isTokenValid, isTokenValid = isTokenValid,
loginType = LoginType.UNKNOWN, loginType = LoginType.UNKNOWN,
passphrase = null,
) )
} }

2
libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt

@ -24,6 +24,7 @@ import java.util.Date
internal fun Session.toSessionData( internal fun Session.toSessionData(
isTokenValid: Boolean, isTokenValid: Boolean,
loginType: LoginType, loginType: LoginType,
passphrase: String?,
) = SessionData( ) = SessionData(
userId = userId, userId = userId,
deviceId = deviceId, deviceId = deviceId,
@ -35,4 +36,5 @@ internal fun Session.toSessionData(
loginTimestamp = Date(), loginTimestamp = Date(),
isTokenValid = isTokenValid, isTokenValid = isTokenValid,
loginType = loginType, loginType = loginType,
passphrase = passphrase,
) )

1
libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionData.kt

@ -29,4 +29,5 @@ data class SessionData(
val loginTimestamp: Date?, val loginTimestamp: Date?,
val isTokenValid: Boolean, val isTokenValid: Boolean,
val loginType: LoginType, val loginType: LoginType,
val passphrase: String?,
) )

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

@ -33,6 +33,7 @@ internal fun SessionData.toDbModel(): DbSessionData {
loginTimestamp = loginTimestamp?.time, loginTimestamp = loginTimestamp?.time,
isTokenValid = if (isTokenValid) 1L else 0L, isTokenValid = if (isTokenValid) 1L else 0L,
loginType = loginType.name, loginType = loginType.name,
passphrase = passphrase,
) )
} }
@ -48,5 +49,6 @@ internal fun DbSessionData.toApiModel(): SessionData {
loginTimestamp = loginTimestamp?.let { Date(it) }, loginTimestamp = loginTimestamp?.let { Date(it) },
isTokenValid = isTokenValid == 1L, isTokenValid = isTokenValid == 1L,
loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name), loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name),
passphrase = passphrase,
) )
} }

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

Binary file not shown.

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

@ -21,7 +21,9 @@ CREATE TABLE SessionData (
oidcData TEXT, oidcData TEXT,
-- added in version 4 -- added in version 4
isTokenValid INTEGER NOT NULL DEFAULT 1, isTokenValid INTEGER NOT NULL DEFAULT 1,
loginType TEXT loginType TEXT,
-- added in version 5
passphrase TEXT
); );

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

@ -0,0 +1,3 @@
-- Migrate DB from version 4
ALTER TABLE SessionData ADD COLUMN passphrase TEXT;
Loading…
Cancel
Save