From d04f76e8cf41b3d44126b288d53758428f87e487 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 18 Jan 2024 10:57:53 +0100 Subject: [PATCH] SessionData: add the passphrase. --- .../signedout/impl/SignedOutStateProvider.kt | 1 + .../libraries/matrix/impl/mapper/Session.kt | 2 ++ .../libraries/sessionstorage/api/SessionData.kt | 1 + .../sessionstorage/impl/SessionDataMapper.kt | 2 ++ .../impl/src/main/sqldelight/databases/5.db | Bin 0 -> 12288 bytes .../libraries/matrix/session/SessionData.sq | 4 +++- .../impl/src/main/sqldelight/migrations/4.sqm | 3 +++ 7 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 libraries/session-storage/impl/src/main/sqldelight/databases/5.db create mode 100644 libraries/session-storage/impl/src/main/sqldelight/migrations/4.sqm diff --git a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt index 0182e87cf3..df3549b0f8 100644 --- a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt +++ b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt @@ -50,5 +50,6 @@ fun aSessionData( loginTimestamp = null, isTokenValid = isTokenValid, loginType = LoginType.UNKNOWN, + passphrase = null, ) } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt index fe21a460c8..aea838b705 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/Session.kt +++ b/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( isTokenValid: Boolean, loginType: LoginType, + passphrase: String?, ) = SessionData( userId = userId, deviceId = deviceId, @@ -35,4 +36,5 @@ internal fun Session.toSessionData( loginTimestamp = Date(), isTokenValid = isTokenValid, loginType = loginType, + passphrase = passphrase, ) diff --git a/libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionData.kt b/libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionData.kt index 25a48c0efe..7189442716 100644 --- a/libraries/session-storage/api/src/main/kotlin/io/element/android/libraries/sessionstorage/api/SessionData.kt +++ b/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 isTokenValid: Boolean, val loginType: LoginType, + val passphrase: String?, ) diff --git a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt index 1a81647f5c..3824def48c 100644 --- a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/SessionDataMapper.kt +++ b/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, 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, ) } diff --git a/libraries/session-storage/impl/src/main/sqldelight/databases/5.db b/libraries/session-storage/impl/src/main/sqldelight/databases/5.db new file mode 100644 index 0000000000000000000000000000000000000000..c6cf5ebef0910c8dcd0aab58d56993bb5f0f4517 GIT binary patch literal 12288 zcmeI#O;5rw7zgkUUqeFl=JiRqXd)(v-bI~;I8k93Igz?mX&f82)5zI_pTm#hC-G}| zwB15PqapD~{!Kb4&-3)AhwzVEp-5uo)Vnf9QCYJ}vwS3Wh*Oz(IeowpjN^;VZo-0o(U z6^ch0h@W|Rj0b^P*-!37{C%1{ti+8Hy8ji=f9@v(VU~Urs-vRc>U1PS8Q-=?ad57Z zr%{%Z*H$XT!%&1IV=@!iQ`2^~&nUT-u`kWkDIW}}(e&M8xAk{bEvrgo7+AI`OYCIH zGC%4iH~Ske@FjQX9@RUZPt|3{-a9vv1%V^5P$##AOHafKmY;|fB*y_009WhszA{m g4EO(8eZ4pr1Rwwb2tWV=5P$##AOHafKp+$N1d1T5+5i9m literal 0 HcmV?d00001 diff --git a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq index d6d16cb6e2..c33b4d7c7e 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq +++ b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq @@ -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 ); diff --git a/libraries/session-storage/impl/src/main/sqldelight/migrations/4.sqm b/libraries/session-storage/impl/src/main/sqldelight/migrations/4.sqm new file mode 100644 index 0000000000..144d56959f --- /dev/null +++ b/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;