Updated on 2026-08-14
This commit is contained in:
parent
defd947695
commit
f53ffa9a64
14 changed files with 206 additions and 13 deletions
|
|
@ -1,8 +1,12 @@
|
|||
package com.tangem.datasource.di
|
||||
|
||||
import com.tangem.datasource.local.datastore.RuntimeDataStore
|
||||
import com.tangem.datasource.local.onramp.DefaultOnrampPaymentMethodsStore
|
||||
import com.tangem.datasource.local.onramp.OnrampPaymentMethodsStore
|
||||
import com.tangem.datasource.local.onramp.pairs.DefaultOnrampPairsStore
|
||||
import com.tangem.datasource.local.onramp.pairs.OnrampPairsStore
|
||||
import com.tangem.datasource.local.onramp.paymentmethods.DefaultOnrampPaymentMethodsStore
|
||||
import com.tangem.datasource.local.onramp.paymentmethods.OnrampPaymentMethodsStore
|
||||
import com.tangem.datasource.local.onramp.quotes.DefaultOnrampQuotesStore
|
||||
import com.tangem.datasource.local.onramp.quotes.OnrampQuotesStore
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -18,4 +22,16 @@ internal object OnrampStoreModule {
|
|||
fun provideOnrampPaymentMethodsStore(): OnrampPaymentMethodsStore {
|
||||
return DefaultOnrampPaymentMethodsStore(dataStore = RuntimeDataStore())
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideOnrampPairsStore(): OnrampPairsStore {
|
||||
return DefaultOnrampPairsStore(dataStore = RuntimeDataStore())
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideOnrampQuotesStore(): OnrampQuotesStore {
|
||||
return DefaultOnrampQuotesStore(dataStore = RuntimeDataStore())
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.datasource.local.onramp.pairs
|
||||
|
||||
import com.tangem.datasource.api.onramp.models.response.model.OnrampPairDTO
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStore
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStoreDecorator
|
||||
|
||||
internal class DefaultOnrampPairsStore(
|
||||
dataStore: StringKeyDataStore<List<OnrampPairDTO>>,
|
||||
) : OnrampPairsStore, StringKeyDataStoreDecorator<String, List<OnrampPairDTO>>(dataStore) {
|
||||
override fun provideStringKey(key: String): String = key
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package com.tangem.datasource.local.onramp.pairs
|
||||
|
||||
import com.tangem.datasource.api.onramp.models.response.model.OnrampPairDTO
|
||||
|
||||
interface OnrampPairsStore {
|
||||
suspend fun getSyncOrNull(key: String): List<OnrampPairDTO>?
|
||||
suspend fun store(key: String, value: List<OnrampPairDTO>)
|
||||
suspend fun clear()
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.datasource.local.onramp
|
||||
package com.tangem.datasource.local.onramp.paymentmethods
|
||||
|
||||
import com.tangem.datasource.api.onramp.models.response.model.PaymentMethodDTO
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStore
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.datasource.local.onramp
|
||||
package com.tangem.datasource.local.onramp.paymentmethods
|
||||
|
||||
import com.tangem.datasource.api.onramp.models.response.model.PaymentMethodDTO
|
||||
|
||||
|
|
@ -9,4 +9,6 @@ interface OnrampPaymentMethodsStore {
|
|||
suspend fun store(key: String, value: List<PaymentMethodDTO>)
|
||||
|
||||
suspend fun contains(key: String): Boolean
|
||||
|
||||
suspend fun clear()
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.datasource.local.onramp.quotes
|
||||
|
||||
import com.tangem.datasource.api.onramp.models.response.OnrampQuoteResponse
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStore
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStoreDecorator
|
||||
|
||||
internal class DefaultOnrampQuotesStore(
|
||||
dataStore: StringKeyDataStore<List<OnrampQuoteResponse>>,
|
||||
) : OnrampQuotesStore, StringKeyDataStoreDecorator<String, List<OnrampQuoteResponse>>(dataStore) {
|
||||
override fun provideStringKey(key: String): String = key
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package com.tangem.datasource.local.onramp.quotes
|
||||
|
||||
import com.tangem.datasource.api.onramp.models.response.OnrampQuoteResponse
|
||||
|
||||
interface OnrampQuotesStore {
|
||||
suspend fun getSyncOrNull(key: String): List<OnrampQuoteResponse>?
|
||||
suspend fun store(key: String, value: List<OnrampQuoteResponse>)
|
||||
suspend fun clear()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue