From 3e4e8c8f9085979a60620d886b44c3d587e2fe6c Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 28 May 2025 13:44:23 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../CardActivationRemoteStateResponse.kt | 3 +-- .../VisaActivationStatusConverterWithState.kt | 27 +++++-------------- .../visa/model/VisaActivationRemoteState.kt | 8 ++---- .../model/OnboardingVisaInProgressModel.kt | 3 --- 4 files changed, 9 insertions(+), 32 deletions(-) diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/visa/models/response/CardActivationRemoteStateResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/visa/models/response/CardActivationRemoteStateResponse.kt index 4134fa9c0e..a34a31a366 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/visa/models/response/CardActivationRemoteStateResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/visa/models/response/CardActivationRemoteStateResponse.kt @@ -11,8 +11,7 @@ data class CardActivationRemoteStateResponse( data class Result( @Json(name = "status") val status: String, @Json(name = "order") val activationOrder: ActivationOrder?, - @Json(name = "stepChangeCode") val stepChangeCode: Int?, - @Json(name = "updatedAt") val updatedAt: String?, + @Json(name = "step_error") val stepError: String?, ) @JsonClass(generateAdapter = true) diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/converter/VisaActivationStatusConverterWithState.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/converter/VisaActivationStatusConverterWithState.kt index ff8c166266..cc00430f80 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/converter/VisaActivationStatusConverterWithState.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/converter/VisaActivationStatusConverterWithState.kt @@ -4,34 +4,19 @@ import com.tangem.datasource.api.visa.models.response.CardActivationRemoteStateR import com.tangem.domain.visa.model.VisaActivationOrderInfo import com.tangem.domain.visa.model.VisaActivationRemoteState import com.tangem.utils.converter.Converter -import kotlinx.coroutines.flow.MutableStateFlow -private const val PIN_CODE_VALIDATION_ERROR = 1000 +private const val PIN_CODE_VALIDATION_ERROR = "pin_entry" object VisaActivationStatusConverterWithState : Converter { - private val lastUpdatedAt = MutableStateFlow(null) - override fun convert(value: CardActivationRemoteStateResponse): VisaActivationRemoteState { - // handle pin code error - // either we entered pin code before with an error (WasError) or after receiving an error (InProgress) - // TODO [REDACTED_TASK_KEY] val result = value.result - if (result.status == Status.PinCodeRequired.stringValue && result.stepChangeCode == PIN_CODE_VALIDATION_ERROR) { - return if (lastUpdatedAt.value != result.updatedAt) { - lastUpdatedAt.value = result.updatedAt - - VisaActivationRemoteState.AwaitingPinCode( - activationOrderInfo = result.activationOrder!!.convert(), - status = VisaActivationRemoteState.AwaitingPinCode.Status.WasError, - ) - } else { - VisaActivationRemoteState.AwaitingPinCode( - activationOrderInfo = result.activationOrder!!.convert(), - status = VisaActivationRemoteState.AwaitingPinCode.Status.InProgress, - ) - } + if (result.status == Status.PinCodeRequired.stringValue && result.stepError == PIN_CODE_VALIDATION_ERROR) { + return VisaActivationRemoteState.AwaitingPinCode( + activationOrderInfo = result.activationOrder!!.convert(), + status = VisaActivationRemoteState.AwaitingPinCode.Status.WasError, + ) } val status = Status.entries.find { it.stringValue == result.status } ?: error( diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationRemoteState.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationRemoteState.kt index b34d72d2a6..b18456441b 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationRemoteState.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationRemoteState.kt @@ -26,7 +26,7 @@ sealed class VisaActivationRemoteState { val status: Status, ) : VisaActivationRemoteState() { enum class Status { - WaitingForPinCode, InProgress, WasError + WaitingForPinCode, WasError } } @@ -71,7 +71,7 @@ enum class VisaActivationRemoteState_Type { @Suppress("ClassNaming") @JsonClass(generateAdapter = false) enum class AwaitingPinCodeStatus_Type { - WaitingForPinCode, InProgress, WasError + WaitingForPinCode, WasError } @Suppress("ClassNaming") @@ -91,8 +91,6 @@ class VisaActivationRemoteState_JsonAdapter { status = when (value.awaitingPinCodeStatus!!) { AwaitingPinCodeStatus_Type.WaitingForPinCode -> AwaitingPinCode.Status.WaitingForPinCode - AwaitingPinCodeStatus_Type.InProgress -> - AwaitingPinCode.Status.InProgress AwaitingPinCodeStatus_Type.WasError -> AwaitingPinCode.Status.WasError }, @@ -127,8 +125,6 @@ class VisaActivationRemoteState_JsonAdapter { awaitingPinCodeStatus = when (value.status) { AwaitingPinCode.Status.WaitingForPinCode -> AwaitingPinCodeStatus_Type.WaitingForPinCode - AwaitingPinCode.Status.InProgress -> - AwaitingPinCodeStatus_Type.InProgress AwaitingPinCode.Status.WasError -> AwaitingPinCodeStatus_Type.WasError }, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt index fe81644d9d..6c9ab5d36d 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt @@ -153,9 +153,6 @@ internal class OnboardingVisaInProgressModel @Inject constructor( ) complete() } - VisaActivationRemoteState.AwaitingPinCode.Status.InProgress -> { - /** waiting for the new state */ - } } }