Updated on 2026-08-14

This commit is contained in:
Tangem 2026-05-06 22:27:57 +05:00
parent 3b1e642150
commit 27820ec8ad
24 changed files with 356 additions and 142 deletions

View file

@ -1,8 +1,14 @@
package com.tangem.domain.pay.flow
import arrow.core.Either
import com.tangem.domain.core.flow.FlowFetcher
import com.tangem.domain.models.wallet.UserWalletId
interface PaymentAccountStatusFetcher : FlowFetcher<PaymentAccountStatusFetcher.Params> {
suspend operator fun invoke(userWalletId: UserWalletId): Either<Throwable, Unit> {
return invoke(Params(userWalletId))
}
data class Params(val userWalletId: UserWalletId)
}

View file

@ -17,9 +17,6 @@ class SetTangemPayCardLimitUseCase(
amount: BigDecimal,
): Either<UniversalError, Unit> {
return cardDetailsRepository.updateCardLimit(cardId, userWalletId, amount.toPlainString())
.onRight {
val params = PaymentAccountStatusFetcher.Params(userWalletId)
paymentAccountStatusFetcher.invoke(params)
}
.onRight { paymentAccountStatusFetcher.invoke(userWalletId) }
}
}

View file

@ -0,0 +1,22 @@
package com.tangem.domain.pay.usecase
import arrow.core.Either
import com.tangem.core.error.UniversalError
import com.tangem.domain.models.account.CardDisplayName
import com.tangem.domain.models.wallet.UserWalletId
import com.tangem.domain.pay.flow.PaymentAccountStatusFetcher
import com.tangem.domain.pay.repository.TangemPayCardDetailsRepository
class UpdateTangemPayCardNameUseCase(
private val cardDetailsRepository: TangemPayCardDetailsRepository,
private val paymentAccountStatusFetcher: PaymentAccountStatusFetcher,
) {
suspend operator fun invoke(
cardId: String,
userWalletId: UserWalletId,
displayName: CardDisplayName,
): Either<UniversalError, Unit> {
return cardDetailsRepository.updateCardDisplayName(cardId, userWalletId, displayName)
.onRight { paymentAccountStatusFetcher(userWalletId) }
}
}