Updated on 2026-08-14

This commit is contained in:
Tangem 2023-07-24 22:35:58 +08:00
parent e3c0b0b311
commit fcdfe622f9
27 changed files with 384 additions and 54 deletions

View file

@ -0,0 +1,8 @@
package com.tangem.domain.card
import com.tangem.domain.card.repository.CardRepository
class GetCardWasScannedUseCase(private val cardRepository: CardRepository) {
suspend operator fun invoke(cardId: String): Boolean = cardRepository.wasCardScanned(cardId)
}

View file

@ -0,0 +1,6 @@
package com.tangem.domain.card.repository
interface CardRepository {
suspend fun wasCardScanned(cardId: String): Boolean
}

View file

@ -26,4 +26,20 @@ interface CardTypesResolver {
fun getPrimaryToken(): Token?
fun getBackupCardsCount(): Int
fun isReleaseFirmwareType(): Boolean
fun getRemainingSignatures(): Int?
fun getCardId(): String
fun isTestCard(): Boolean
fun isAttestationFailed(): Boolean
fun hasWalletSignedHashes(): Boolean
fun hasBackup(): Boolean
fun isBackupForbidden(): Boolean
}

View file

@ -10,6 +10,7 @@ import com.tangem.domain.common.TapWorkarounds.isStart2Coin
import com.tangem.domain.common.TapWorkarounds.isTestCard
import com.tangem.domain.models.scan.CardDTO
import com.tangem.domain.models.scan.ProductType
import com.tangem.operations.attestation.Attestation
internal class TangemCardTypesResolver(
private val card: CardDTO,
@ -73,6 +74,27 @@ internal class TangemCardTypesResolver(
override fun getBackupCardsCount(): Int = card.wallets.size
override fun isReleaseFirmwareType(): Boolean = card.firmwareVersion.type == FirmwareVersion.FirmwareType.Release
override fun getRemainingSignatures(): Int? = card.wallets.firstOrNull()?.remainingSignatures
override fun getCardId(): String = card.cardId
override fun isTestCard(): Boolean = card.isTestCard
override fun isAttestationFailed(): Boolean = card.attestation.status == Attestation.Status.Failed
override fun hasWalletSignedHashes(): Boolean {
return card.wallets.any {
val totalSignedHashes = it.totalSignedHashes ?: 0
totalSignedHashes > 0
}
}
override fun hasBackup(): Boolean = card.backupStatus != CardDTO.BackupStatus.NoBackup
override fun isBackupForbidden(): Boolean = !(card.settings.isBackupAllowed || card.settings.isHDWalletAllowed)
private fun Blockchain.Companion.fromBlockchainName(blockchainName: String): Blockchain {
// workaround for BSC (BNB) notes cards
return when (blockchainName) {

1
domain/settings/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/build

View file

@ -0,0 +1,4 @@
plugins {
alias(deps.plugins.kotlin.jvm)
id("configuration")
}

View file

@ -0,0 +1,8 @@
package com.tangem.domain.settings
import com.tangem.domain.settings.repositories.SettingsRepository
class IsUserAlreadyRateAppUseCase(private val settingsRepository: SettingsRepository) {
suspend operator fun invoke(): Boolean = settingsRepository.isUserAlreadyRateApp()
}

View file

@ -0,0 +1,6 @@
package com.tangem.domain.settings.repositories
interface SettingsRepository {
suspend fun isUserAlreadyRateApp(): Boolean
}