From bbe35fc044ade1dfa36ed81bac26372dc6cf3493 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 24 Apr 2025 17:18:02 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../data/visa/DefaultVisaActivationRepository.kt | 13 ++++++++++++- .../com/tangem/data/visa/config/VisaConfig.kt | 8 +++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt index bf72bc979e..3f2c1d8a90 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt @@ -2,6 +2,9 @@ package com.tangem.data.visa import com.tangem.data.visa.config.VisaLibLoader import com.tangem.data.visa.converter.VisaActivationStatusConverterWithState +import com.tangem.datasource.api.common.config.ApiConfig +import com.tangem.datasource.api.common.config.ApiEnvironment +import com.tangem.datasource.api.common.config.managers.ApiConfigsManager import com.tangem.datasource.api.common.response.ApiResponseError import com.tangem.datasource.api.common.response.getOrThrow import com.tangem.datasource.api.visa.TangemVisaApi @@ -30,6 +33,7 @@ internal class DefaultVisaActivationRepository @AssistedInject constructor( private val visaAuthTokenStorage: VisaAuthTokenStorage, private val visaAuthRepository: VisaAuthRepository, private val visaLibLoader: VisaLibLoader, + private val apiConfigsManager: ApiConfigsManager, ) : VisaActivationRepository { override suspend fun getActivationRemoteState(): VisaActivationRemoteState = withContext(dispatcherProvider.io) { @@ -158,7 +162,14 @@ internal class DefaultVisaActivationRepository @AssistedInject constructor( } override suspend fun getPinCodeRsaEncryptionPublicKey(): String { - return visaLibLoader.getOrCreateConfig().rsaPublicKey + val env = apiConfigsManager.getEnvironmentConfig(ApiConfig.ID.TangemVisa).environment + val rsaPublicKey = visaLibLoader.getOrCreateConfig().rsaPublicKey + return when (env) { + ApiEnvironment.DEV, + ApiEnvironment.STAGE, + -> rsaPublicKey.dev + ApiEnvironment.PROD -> rsaPublicKey.prod + } } private suspend fun request(requestBlock: suspend () -> T): T { diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/config/VisaConfig.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/config/VisaConfig.kt index 2dd3b5566c..cf76110918 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/config/VisaConfig.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/config/VisaConfig.kt @@ -12,7 +12,7 @@ internal data class VisaConfig( @Json(name = "txHistoryAPIAdditionalHeaders") val header: Header, @Json(name = "rsaPublicKey") - val rsaPublicKey: String, + val rsaPublicKey: RsaPublicKey, ) { @JsonClass(generateAdapter = true) @@ -28,4 +28,10 @@ internal data class VisaConfig( @Json(name = "x-asn") val xAsn: String, ) + + @JsonClass(generateAdapter = true) + data class RsaPublicKey( + @Json(name = "prod") val prod: String, + @Json(name = "dev") val dev: String, + ) } \ No newline at end of file