Updated on 2026-08-14

This commit is contained in:
Tangem 2024-11-20 14:34:19 +05:00
parent 851d9ffea9
commit 9f65e1b80c
18 changed files with 347 additions and 2 deletions

View file

@ -0,0 +1,21 @@
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 dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
internal object OnrampStoreModule {
@Provides
@Singleton
fun provideOnrampPaymentMethodsStore(): OnrampPaymentMethodsStore {
return DefaultOnrampPaymentMethodsStore(dataStore = RuntimeDataStore())
}
}

View file

@ -0,0 +1,12 @@
package com.tangem.datasource.local.onramp
import com.tangem.datasource.api.onramp.models.response.model.PaymentMethodDTO
import com.tangem.datasource.local.datastore.core.StringKeyDataStore
import com.tangem.datasource.local.datastore.core.StringKeyDataStoreDecorator
internal class DefaultOnrampPaymentMethodsStore(
dataStore: StringKeyDataStore<List<PaymentMethodDTO>>,
) : OnrampPaymentMethodsStore, StringKeyDataStoreDecorator<String, List<PaymentMethodDTO>>(dataStore) {
override fun provideStringKey(key: String): String = key
}

View file

@ -0,0 +1,12 @@
package com.tangem.datasource.local.onramp
import com.tangem.datasource.api.onramp.models.response.model.PaymentMethodDTO
interface OnrampPaymentMethodsStore {
suspend fun getSyncOrNull(key: String): List<PaymentMethodDTO>?
suspend fun store(key: String, value: List<PaymentMethodDTO>)
suspend fun contains(key: String): Boolean
}