Updated on 2026-08-14

This commit is contained in:
Tangem 2026-04-24 05:01:25 -07:00
parent bc3443c479
commit 2e0bdac248
21 changed files with 752 additions and 30 deletions

View file

@ -34,7 +34,14 @@ interface TangemPayCardDetailsRepository {
suspend fun cardFrozenStateSync(cardId: String): TangemPayCardFrozenState?
suspend fun updateCardDisplayName(
cardId: String,
userWalletId: UserWalletId,
displayName: CardDisplayName,
): Either<UniversalError, Unit>
suspend fun updateCardLimit(
cardId: String,
userWalletId: UserWalletId,
limit: String,
): Either<UniversalError, Unit>
}

View file

@ -0,0 +1,25 @@
package com.tangem.domain.pay.usecase
import arrow.core.Either
import com.tangem.core.error.UniversalError
import com.tangem.domain.models.wallet.UserWalletId
import com.tangem.domain.pay.flow.PaymentAccountStatusFetcher
import com.tangem.domain.pay.repository.TangemPayCardDetailsRepository
import java.math.BigDecimal
class SetTangemPayCardLimitUseCase(
private val cardDetailsRepository: TangemPayCardDetailsRepository,
private val paymentAccountStatusFetcher: PaymentAccountStatusFetcher,
) {
suspend operator fun invoke(
cardId: String,
userWalletId: UserWalletId,
amount: BigDecimal,
): Either<UniversalError, Unit> {
return cardDetailsRepository.updateCardLimit(cardId, userWalletId, amount.toPlainString())
.onRight {
val params = PaymentAccountStatusFetcher.Params(userWalletId)
paymentAccountStatusFetcher.invoke(params)
}
}
}