Updated on 2026-08-14

This commit is contained in:
Tangem 2025-07-21 20:02:42 +05:00
parent 1e6d95e494
commit f947c7d620
9 changed files with 40 additions and 4 deletions

View file

@ -6,9 +6,11 @@ import com.tangem.datasource.api.common.response.getOrThrow
import com.tangem.datasource.api.express.TangemExpressApi
import com.tangem.datasource.exchangeservice.swap.ExpressUtils
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.domain.express.models.ExpressProvider
import com.tangem.domain.express.ExpressRepository
import com.tangem.domain.express.models.ExpressProvider
import com.tangem.domain.express.models.ExpressProviderType
import com.tangem.domain.wallets.models.UserWallet
import com.tangem.utils.extensions.filterIf
import timber.log.Timber
internal class DefaultExpressRepository(
@ -16,7 +18,10 @@ internal class DefaultExpressRepository(
private val appPreferencesStore: AppPreferencesStore,
) : ExpressRepository {
override suspend fun getProviders(userWallet: UserWallet): List<ExpressProvider> {
override suspend fun getProviders(
userWallet: UserWallet,
filterProviderTypes: List<ExpressProviderType>,
): List<ExpressProvider> {
return safeApiCall(
call = {
tangemExpressApi.getProviders(
@ -26,6 +31,7 @@ internal class DefaultExpressRepository(
appPreferencesStore = appPreferencesStore,
),
).getOrThrow().map(ExpressProviderConverter()::convert)
.filterIf(filterProviderTypes.isNotEmpty()) { it.type in filterProviderTypes }
},
onError = {
Timber.w(it, "Unable to fetch express providers")