diff --git a/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/network/model/GetTokenResponseJson.kt b/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/network/model/GetTokenResponseJson.kt index 537483d138..e8d688835d 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/network/model/GetTokenResponseJson.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/network/model/GetTokenResponseJson.kt @@ -1,7 +1,9 @@ package com.x8bit.bitwarden.data.auth.datasource.network.model +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonNames import kotlinx.serialization.json.JsonObject /** @@ -92,20 +94,21 @@ sealed class GetTokenResponseJson { /** * Models json body of an invalid request. + * + * This model supports older versions of the error response model that used lower-case keys. */ + @OptIn(ExperimentalSerializationApi::class) @Serializable data class Invalid( + @JsonNames("errorModel") @SerialName("ErrorModel") - val errorModel: ErrorModel?, - @SerialName("errorModel") - val legacyErrorModel: LegacyErrorModel?, + private val errorModel: ErrorModel?, ) : GetTokenResponseJson() { /** * The error message returned from the server, or null. */ - val errorMessage: String? - get() = errorModel?.errorMessage ?: legacyErrorModel?.errorMessage + val errorMessage: String? get() = errorModel?.errorMessage /** * The type of invalid responses that can be received. @@ -131,24 +134,16 @@ sealed class GetTokenResponseJson { /** * The error body of an invalid request containing a message. + * + * This model supports older versions of the error response model that used lower-case + * keys. */ @Serializable data class ErrorModel( + @JsonNames("message") @SerialName("Message") val errorMessage: String, ) - - /** - * The legacy error body of an invalid request containing a message. - * - * This model is used to support older versions of the error response model that used - * lower-case keys. - */ - @Serializable - data class LegacyErrorModel( - @SerialName("message") - val errorMessage: String, - ) } /** diff --git a/app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/network/service/IdentityServiceTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/network/service/IdentityServiceTest.kt index a0a92d72a7..0bf6d21d7c 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/network/service/IdentityServiceTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/network/service/IdentityServiceTest.kt @@ -287,7 +287,7 @@ class IdentityServiceTest : BaseServiceTest() { captchaToken = null, uniqueAppId = UNIQUE_APP_ID, ) - assertEquals(LEGACY_INVALID_LOGIN.asSuccess(), result) + assertEquals(INVALID_LOGIN.asSuccess(), result) } @Suppress("MaxLineLength") @@ -651,7 +651,7 @@ private const val INVALID_LOGIN_JSON = """ private const val LEGACY_INVALID_LOGIN_JSON = """ { "errorModel": { - "message": "Legacy-123" + "message": "123" } } """ @@ -688,14 +688,6 @@ private val INVALID_LOGIN = GetTokenResponseJson.Invalid( errorModel = GetTokenResponseJson.Invalid.ErrorModel( errorMessage = "123", ), - legacyErrorModel = null, -) - -private val LEGACY_INVALID_LOGIN = GetTokenResponseJson.Invalid( - errorModel = null, - legacyErrorModel = GetTokenResponseJson.Invalid.LegacyErrorModel( - errorMessage = "Legacy-123", - ), ) private val SEND_VERIFICATION_EMAIL_REQUEST = SendVerificationEmailRequestJson( diff --git a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt index b17531cb1c..68a884d8a7 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt @@ -1574,7 +1574,6 @@ class AuthRepositoryTest { errorModel = GetTokenResponseJson.Invalid.ErrorModel( errorMessage = "mock_error_message", ), - legacyErrorModel = null, ) .asSuccess() @@ -1617,7 +1616,6 @@ class AuthRepositoryTest { errorModel = GetTokenResponseJson.Invalid.ErrorModel( errorMessage = "new device verification required", ), - legacyErrorModel = null, ) .asSuccess() @@ -2401,7 +2399,6 @@ class AuthRepositoryTest { errorModel = GetTokenResponseJson.Invalid.ErrorModel( errorMessage = "mock_error_message", ), - legacyErrorModel = null, ) .asSuccess() @@ -2870,7 +2867,6 @@ class AuthRepositoryTest { errorModel = GetTokenResponseJson.Invalid.ErrorModel( errorMessage = "mock_error_message", ), - legacyErrorModel = null, ) .asSuccess()