Updated on 2026-08-14
This commit is contained in:
parent
e0594fa9f8
commit
462dd631b7
17 changed files with 199 additions and 25 deletions
|
|
@ -1,6 +1,10 @@
|
|||
package com.tangem.datasource.di
|
||||
|
||||
import com.tangem.datasource.local.datastore.RuntimeDataStore
|
||||
import com.tangem.datasource.local.onramp.countries.DefaultOnrampCountriesStore
|
||||
import com.tangem.datasource.local.onramp.countries.OnrampCountriesStore
|
||||
import com.tangem.datasource.local.onramp.currencies.DefaultOnrampCurrenciesStore
|
||||
import com.tangem.datasource.local.onramp.currencies.OnrampCurrenciesStore
|
||||
import com.tangem.datasource.local.onramp.pairs.DefaultOnrampPairsStore
|
||||
import com.tangem.datasource.local.onramp.pairs.OnrampPairsStore
|
||||
import com.tangem.datasource.local.onramp.paymentmethods.DefaultOnrampPaymentMethodsStore
|
||||
|
|
@ -34,4 +38,16 @@ internal object OnrampStoreModule {
|
|||
fun provideOnrampQuotesStore(): OnrampQuotesStore {
|
||||
return DefaultOnrampQuotesStore(dataStore = RuntimeDataStore())
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideOnrampCountriesStore(): OnrampCountriesStore {
|
||||
return DefaultOnrampCountriesStore(dataStore = RuntimeDataStore())
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideOnrampCurrencies(): OnrampCurrenciesStore {
|
||||
return DefaultOnrampCurrenciesStore(dataStore = RuntimeDataStore())
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.datasource.local.onramp.countries
|
||||
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStore
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStoreDecorator
|
||||
import com.tangem.domain.onramp.model.OnrampCountry
|
||||
|
||||
internal class DefaultOnrampCountriesStore(
|
||||
dataStore: StringKeyDataStore<List<OnrampCountry>>,
|
||||
) : OnrampCountriesStore, StringKeyDataStoreDecorator<String, List<OnrampCountry>>(dataStore) {
|
||||
override fun provideStringKey(key: String): String = key
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.datasource.local.onramp.countries
|
||||
|
||||
import com.tangem.domain.onramp.model.OnrampCountry
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface OnrampCountriesStore {
|
||||
suspend fun getSyncOrNull(key: String): List<OnrampCountry>?
|
||||
fun get(key: String): Flow<List<OnrampCountry>>
|
||||
suspend fun store(key: String, value: List<OnrampCountry>)
|
||||
suspend fun clear()
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.datasource.local.onramp.currencies
|
||||
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStore
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStoreDecorator
|
||||
import com.tangem.domain.onramp.model.OnrampCurrency
|
||||
|
||||
internal class DefaultOnrampCurrenciesStore(
|
||||
dataStore: StringKeyDataStore<List<OnrampCurrency>>,
|
||||
) : OnrampCurrenciesStore, StringKeyDataStoreDecorator<String, List<OnrampCurrency>>(dataStore) {
|
||||
override fun provideStringKey(key: String): String = key
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.datasource.local.onramp.currencies
|
||||
|
||||
import com.tangem.domain.onramp.model.OnrampCurrency
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface OnrampCurrenciesStore {
|
||||
suspend fun getSyncOrNull(key: String): List<OnrampCurrency>?
|
||||
fun get(key: String): Flow<List<OnrampCurrency>>
|
||||
suspend fun store(key: String, value: List<OnrampCurrency>)
|
||||
suspend fun clear()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue