Merge pull request #5755 from element-hq/feature/bma/cleanupDb
Remove unused `slidingSyncProxy` from DB.
This commit is contained in:
@@ -39,7 +39,6 @@ class DefaultMessageParser(
|
||||
accessToken = accessToken,
|
||||
deviceId = deviceId,
|
||||
refreshToken = null,
|
||||
slidingSyncProxy = null
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,5 +84,4 @@ internal fun anExternalSession(
|
||||
accessToken = "access_token",
|
||||
deviceId = "device_id",
|
||||
refreshToken = null,
|
||||
slidingSyncProxy = null
|
||||
)
|
||||
|
||||
@@ -37,7 +37,6 @@ private fun aSessionData(
|
||||
refreshToken = "aRefreshToken",
|
||||
homeserverUrl = "aHomeserverUrl",
|
||||
oidcData = null,
|
||||
slidingSyncProxy = null,
|
||||
loginTimestamp = null,
|
||||
isTokenValid = isTokenValid,
|
||||
loginType = LoginType.UNKNOWN,
|
||||
|
||||
@@ -17,5 +17,4 @@ data class ExternalSession(
|
||||
val accessToken: String,
|
||||
val refreshToken: String?,
|
||||
val homeserverUrl: String,
|
||||
val slidingSyncProxy: String?
|
||||
)
|
||||
|
||||
@@ -28,7 +28,6 @@ internal fun Session.toSessionData(
|
||||
refreshToken = refreshToken,
|
||||
homeserverUrl = homeserverUrl ?: this.homeserverUrl,
|
||||
oidcData = oidcData,
|
||||
slidingSyncProxy = null,
|
||||
loginTimestamp = Date(),
|
||||
isTokenValid = isTokenValid,
|
||||
loginType = loginType,
|
||||
@@ -54,7 +53,6 @@ internal fun ExternalSession.toSessionData(
|
||||
refreshToken = refreshToken,
|
||||
homeserverUrl = homeserverUrl,
|
||||
oidcData = null,
|
||||
slidingSyncProxy = slidingSyncProxy,
|
||||
loginTimestamp = Date(),
|
||||
isTokenValid = isTokenValid,
|
||||
loginType = loginType,
|
||||
|
||||
@@ -19,7 +19,6 @@ import io.element.android.libraries.matrix.test.A_SECRET
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||
import io.element.android.libraries.sessionstorage.api.LoginType
|
||||
import org.junit.Test
|
||||
import org.matrix.rustcomponents.sdk.SlidingSyncVersion
|
||||
import java.io.File
|
||||
|
||||
class SessionKtTest {
|
||||
@@ -38,7 +37,6 @@ class SessionKtTest {
|
||||
assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL)
|
||||
assertThat(result.isTokenValid).isTrue()
|
||||
assertThat(result.oidcData).isNull()
|
||||
assertThat(result.slidingSyncProxy).isNull()
|
||||
assertThat(result.loginType).isEqualTo(LoginType.PASSWORD)
|
||||
assertThat(result.loginTimestamp).isNotNull()
|
||||
assertThat(result.passphrase).isEqualTo(A_SECRET)
|
||||
@@ -70,20 +68,6 @@ class SessionKtTest {
|
||||
assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL_2)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `toSessionData copy the sliding sync url if present`() {
|
||||
val result = aRustSession(
|
||||
proxy = SlidingSyncVersion.NATIVE
|
||||
).toSessionData(
|
||||
isTokenValid = true,
|
||||
loginType = LoginType.PASSWORD,
|
||||
passphrase = A_SECRET,
|
||||
sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")),
|
||||
homeserverUrl = A_HOMESERVER_URL_2,
|
||||
)
|
||||
assertThat(result.slidingSyncProxy).isNull()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `ExternalSession toSessionData compute the expected result`() {
|
||||
val result = anExternalSession().toSessionData(
|
||||
@@ -99,7 +83,6 @@ class SessionKtTest {
|
||||
assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL)
|
||||
assertThat(result.isTokenValid).isTrue()
|
||||
assertThat(result.oidcData).isNull()
|
||||
assertThat(result.slidingSyncProxy).isNull()
|
||||
assertThat(result.loginType).isEqualTo(LoginType.PASSWORD)
|
||||
assertThat(result.loginTimestamp).isNotNull()
|
||||
assertThat(result.passphrase).isEqualTo(A_SECRET)
|
||||
@@ -125,12 +108,10 @@ private fun anExternalSession(
|
||||
accessToken: String = "accessToken",
|
||||
refreshToken: String? = null,
|
||||
homeserverUrl: String = A_HOMESERVER_URL,
|
||||
slidingSyncProxy: String? = null,
|
||||
) = ExternalSession(
|
||||
userId = userId,
|
||||
deviceId = deviceId,
|
||||
accessToken = accessToken,
|
||||
refreshToken = refreshToken,
|
||||
homeserverUrl = homeserverUrl,
|
||||
slidingSyncProxy = slidingSyncProxy,
|
||||
)
|
||||
|
||||
@@ -26,8 +26,6 @@ data class SessionData(
|
||||
val homeserverUrl: String,
|
||||
/** The Open ID Connect info for this session, if any. */
|
||||
val oidcData: String?,
|
||||
/** The Sliding Sync Proxy URL for this session, if any. */
|
||||
val slidingSyncProxy: String?,
|
||||
/** The timestamp of the last login. May be `null` in very old sessions. */
|
||||
val loginTimestamp: Date?,
|
||||
/** Whether the [accessToken] is valid or not. */
|
||||
|
||||
@@ -21,7 +21,6 @@ internal fun SessionData.toDbModel(): DbSessionData {
|
||||
refreshToken = refreshToken,
|
||||
homeserverUrl = homeserverUrl,
|
||||
oidcData = oidcData,
|
||||
slidingSyncProxy = slidingSyncProxy,
|
||||
loginTimestamp = loginTimestamp?.time,
|
||||
isTokenValid = if (isTokenValid) 1L else 0L,
|
||||
loginType = loginType.name,
|
||||
@@ -43,7 +42,6 @@ internal fun DbSessionData.toApiModel(): SessionData {
|
||||
refreshToken = refreshToken,
|
||||
homeserverUrl = homeserverUrl,
|
||||
oidcData = oidcData,
|
||||
slidingSyncProxy = slidingSyncProxy,
|
||||
loginTimestamp = loginTimestamp?.let { Date(it) },
|
||||
isTokenValid = isTokenValid == 1L,
|
||||
loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name),
|
||||
|
||||
Binary file not shown.
@@ -14,7 +14,6 @@ CREATE TABLE SessionData (
|
||||
accessToken TEXT NOT NULL,
|
||||
refreshToken TEXT,
|
||||
homeserverUrl TEXT NOT NULL,
|
||||
slidingSyncProxy TEXT,
|
||||
-- added in version 2
|
||||
loginTimestamp INTEGER,
|
||||
-- added in version 3
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
-- Migrate DB from version 10
|
||||
-- Remove field slidingSyncProxy
|
||||
|
||||
-- Equivalent to (DROP not supported by sqldelight):
|
||||
-- ALTER TABLE SessionData DROP slidingSyncProxy;
|
||||
|
||||
CREATE TABLE SessionData_bak (
|
||||
userId TEXT NOT NULL PRIMARY KEY,
|
||||
deviceId TEXT NOT NULL,
|
||||
accessToken TEXT NOT NULL,
|
||||
refreshToken TEXT,
|
||||
homeserverUrl TEXT NOT NULL,
|
||||
loginTimestamp INTEGER,
|
||||
oidcData TEXT,
|
||||
isTokenValid INTEGER NOT NULL DEFAULT 1,
|
||||
loginType TEXT,
|
||||
passphrase TEXT,
|
||||
sessionPath TEXT NOT NULL DEFAULT "",
|
||||
cachePath TEXT NOT NULL DEFAULT "",
|
||||
position INTEGER NOT NULL DEFAULT 0,
|
||||
lastUsageIndex INTEGER NOT NULL DEFAULT 0,
|
||||
userDisplayName TEXT,
|
||||
userAvatarUrl TEXT
|
||||
);
|
||||
INSERT INTO SessionData_bak SELECT
|
||||
userId,
|
||||
deviceId,
|
||||
accessToken,
|
||||
refreshToken,
|
||||
homeserverUrl,
|
||||
loginTimestamp,
|
||||
oidcData,
|
||||
isTokenValid,
|
||||
loginType,
|
||||
passphrase,
|
||||
sessionPath,
|
||||
cachePath,
|
||||
position,
|
||||
lastUsageIndex,
|
||||
userDisplayName,
|
||||
userAvatarUrl FROM SessionData;
|
||||
DROP TABLE SessionData;
|
||||
ALTER TABLE SessionData_bak RENAME TO SessionData;
|
||||
@@ -220,7 +220,6 @@ class DatabaseSessionStoreTest {
|
||||
accessToken = "accessToken",
|
||||
refreshToken = "refreshToken",
|
||||
homeserverUrl = "homeserverUrl",
|
||||
slidingSyncProxy = "slidingSyncProxy",
|
||||
loginTimestamp = 1,
|
||||
oidcData = "aOidcData",
|
||||
isTokenValid = 1,
|
||||
@@ -239,7 +238,6 @@ class DatabaseSessionStoreTest {
|
||||
accessToken = "accessTokenAltered",
|
||||
refreshToken = "refreshTokenAltered",
|
||||
homeserverUrl = "homeserverUrlAltered",
|
||||
slidingSyncProxy = "slidingSyncProxyAltered",
|
||||
loginTimestamp = 2,
|
||||
oidcData = "aOidcDataAltered",
|
||||
isTokenValid = 1,
|
||||
@@ -266,7 +264,6 @@ class DatabaseSessionStoreTest {
|
||||
assertThat(alteredSession.accessToken).isEqualTo(secondSessionData.accessToken)
|
||||
assertThat(alteredSession.refreshToken).isEqualTo(secondSessionData.refreshToken)
|
||||
assertThat(alteredSession.homeserverUrl).isEqualTo(secondSessionData.homeserverUrl)
|
||||
assertThat(alteredSession.slidingSyncProxy).isEqualTo(secondSessionData.slidingSyncProxy)
|
||||
// Check that alteredSession.loginTimestamp is not altered, so equal to firstSessionData.loginTimestamp
|
||||
assertThat(alteredSession.loginTimestamp).isEqualTo(firstSessionData.loginTimestamp)
|
||||
assertThat(alteredSession.oidcData).isEqualTo(secondSessionData.oidcData)
|
||||
@@ -286,7 +283,6 @@ class DatabaseSessionStoreTest {
|
||||
accessToken = "accessToken",
|
||||
refreshToken = "refreshToken",
|
||||
homeserverUrl = "homeserverUrl",
|
||||
slidingSyncProxy = "slidingSyncProxy",
|
||||
loginTimestamp = 1,
|
||||
oidcData = "aOidcData",
|
||||
isTokenValid = 1,
|
||||
@@ -305,7 +301,6 @@ class DatabaseSessionStoreTest {
|
||||
accessToken = "accessTokenAltered",
|
||||
refreshToken = "refreshTokenAltered",
|
||||
homeserverUrl = "homeserverUrlAltered",
|
||||
slidingSyncProxy = "slidingSyncProxyAltered",
|
||||
loginTimestamp = 2,
|
||||
oidcData = "aOidcDataAltered",
|
||||
isTokenValid = 1,
|
||||
|
||||
@@ -19,7 +19,6 @@ internal fun aDbSessionData(
|
||||
accessToken = "accessToken",
|
||||
refreshToken = "refreshToken",
|
||||
homeserverUrl = "homeserverUrl",
|
||||
slidingSyncProxy = null,
|
||||
loginTimestamp = null,
|
||||
oidcData = "aOidcData",
|
||||
isTokenValid = 1,
|
||||
|
||||
@@ -31,7 +31,6 @@ fun aSessionData(
|
||||
refreshToken = refreshToken,
|
||||
homeserverUrl = "aHomeserverUrl",
|
||||
oidcData = null,
|
||||
slidingSyncProxy = null,
|
||||
loginTimestamp = null,
|
||||
isTokenValid = isTokenValid,
|
||||
loginType = LoginType.UNKNOWN,
|
||||
|
||||
Reference in New Issue
Block a user