Updated on 2026-08-14

This commit is contained in:
Tangem 2026-05-18 06:07:20 -07:00
parent 1efe0127f7
commit 6d72276898
16 changed files with 138 additions and 62 deletions

View file

@ -1,6 +1,7 @@
package com.tangem.datasource.di
import com.tangem.datasource.local.datastore.RuntimeDataStore
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.datasource.local.visa.DefaultTangemPayCardFrozenStateStore
import com.tangem.datasource.local.visa.DefaultTangemPayReissueCardStore
import com.tangem.datasource.local.visa.TangemPayCardFrozenStateStore
@ -25,9 +26,10 @@ internal object TangemPayStoresModule {
@Provides
@Singleton
fun provideTangemPayReissueCardStore(): TangemPayReissueCardStore {
fun provideTangemPayReissueCardStore(prefs: AppPreferencesStore): TangemPayReissueCardStore {
return DefaultTangemPayReissueCardStore(
feeStore = RuntimeDataStore(),
prefs = prefs,
)
}
}

View file

@ -1,11 +1,16 @@
package com.tangem.datasource.local.visa
import androidx.datastore.preferences.core.stringPreferencesKey
import com.tangem.datasource.local.datastore.RuntimeDataStore
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.datasource.local.preferences.utils.getSyncOrNull
import com.tangem.datasource.local.preferences.utils.store
import com.tangem.domain.models.pay.TangemPayReissueCardFee
import com.tangem.domain.models.wallet.UserWalletId
internal class DefaultTangemPayReissueCardStore(
private val feeStore: RuntimeDataStore<TangemPayReissueCardFee>,
private val prefs: AppPreferencesStore,
) : TangemPayReissueCardStore {
override suspend fun storeReissueFee(
@ -20,11 +25,15 @@ internal class DefaultTangemPayReissueCardStore(
}
override suspend fun storeReissueOrderId(cardId: String, orderId: String) {
// TODO v_rodionov: #[REDACTED_TASK_KEY] store orderId in app prefs
prefs.store(
key = getReissueKey(cardId),
value = orderId,
)
}
override suspend fun getOrderId(cardId: String): String? {
// TODO v_rodionov: #[REDACTED_TASK_KEY] store orderId in app prefs
return null
return prefs.getSyncOrNull(key = getReissueKey(cardId))
}
private fun getReissueKey(cardId: String) = stringPreferencesKey("tangem_pay_reissue_card_$cardId")
}

View file

@ -85,5 +85,6 @@ sealed interface PaymentAccountStatusValueDM {
@Json(name = "admin_daily_limit") val adminDailyLimit: SerializedBigDecimal?,
@Json(name = "is_frozen") val isFrozen: Boolean,
@Json(name = "last_digits") val lastDigits: String,
@Json(name = "is_reissuing") val isReissuing: Boolean,
)
}