Updated on 2026-08-14

This commit is contained in:
Tangem 2024-02-07 14:14:11 +03:00
parent a10c1a8505
commit 710e944eae
14 changed files with 238 additions and 38 deletions

View file

@ -1,7 +1,7 @@
package com.tangem.data.visa.utils
import com.tangem.domain.visa.model.VisaCurrency
import com.tangem.lib.visa.model.BalancesAndLimits
import com.tangem.lib.visa.model.VisaBalancesAndLimits
import org.joda.time.DateTime
import org.joda.time.DateTimeZone
import org.joda.time.Instant
@ -10,7 +10,7 @@ import java.math.BigInteger
internal class VisaCurrencyFactory {
fun create(balancesAndLimits: BalancesAndLimits, fiatRate: BigDecimal?): VisaCurrency {
fun create(balancesAndLimits: VisaBalancesAndLimits, fiatRate: BigDecimal?): VisaCurrency {
val now = Instant.now()
val currentLimit = if (balancesAndLimits.limitsChangeDate > now) {
balancesAndLimits.oldLimits
@ -43,7 +43,7 @@ internal class VisaCurrencyFactory {
)
}
private fun getRemainingOtp(currentLimit: BalancesAndLimits.Limits, now: Instant): BigDecimal {
private fun getRemainingOtp(currentLimit: VisaBalancesAndLimits.Limits, now: Instant): BigDecimal {
if (currentLimit.expirationDate >= now) {
return currentLimit.spendLimit.limit - currentLimit.spendLimit.spent
}
@ -51,7 +51,7 @@ internal class VisaCurrencyFactory {
return currentLimit.spendLimit.limit
}
private fun getRemainingNoOtp(currentLimit: BalancesAndLimits.Limits, now: Instant): BigDecimal {
private fun getRemainingNoOtp(currentLimit: VisaBalancesAndLimits.Limits, now: Instant): BigDecimal {
if (currentLimit.expirationDate >= now) {
return currentLimit.noOtpLimit.limit - currentLimit.noOtpLimit.spent
}
@ -59,7 +59,7 @@ internal class VisaCurrencyFactory {
return currentLimit.noOtpLimit.limit
}
private fun getLimitsExpirationDate(currentLimits: BalancesAndLimits.Limits, now: Instant): DateTime {
private fun getLimitsExpirationDate(currentLimits: VisaBalancesAndLimits.Limits, now: Instant): DateTime {
val expirationDate = if (currentLimits.expirationDate >= now) {
currentLimits.expirationDate.toDateTime()
} else {