Updated on 2026-08-14
This commit is contained in:
parent
9aa3bf7541
commit
3ea0fbb8a3
32 changed files with 618 additions and 421 deletions
|
|
@ -0,0 +1,23 @@
|
|||
package com.tangem.datasource.di
|
||||
|
||||
import com.tangem.datasource.local.datastore.RuntimeDataStore
|
||||
import com.tangem.datasource.local.visa.DefaultTangemPayCardFrozenStateStore
|
||||
import com.tangem.datasource.local.visa.TangemPayCardFrozenStateStore
|
||||
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 TangemPayStoresModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideTangemPayCardFrozenStateStore(): TangemPayCardFrozenStateStore {
|
||||
return DefaultTangemPayCardFrozenStateStore(
|
||||
dataStore = RuntimeDataStore(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.tangem.datasource.local.visa
|
||||
|
||||
import com.tangem.datasource.local.datastore.core.StringKeyDataStore
|
||||
import com.tangem.domain.visa.model.TangemPayCardFrozenState
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
internal class DefaultTangemPayCardFrozenStateStore(
|
||||
private val dataStore: StringKeyDataStore<TangemPayCardFrozenState>,
|
||||
) : TangemPayCardFrozenStateStore {
|
||||
override suspend fun getSyncOrNull(key: String): TangemPayCardFrozenState? {
|
||||
return dataStore.getSyncOrNull(key)
|
||||
}
|
||||
|
||||
override fun get(key: String): Flow<TangemPayCardFrozenState> {
|
||||
return dataStore.get(key)
|
||||
}
|
||||
|
||||
override suspend fun store(key: String, value: TangemPayCardFrozenState) {
|
||||
dataStore.store(key, value)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.tangem.datasource.local.visa
|
||||
|
||||
import com.tangem.domain.visa.model.TangemPayCardFrozenState
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface TangemPayCardFrozenStateStore {
|
||||
|
||||
suspend fun getSyncOrNull(key: String): TangemPayCardFrozenState?
|
||||
|
||||
fun get(key: String): Flow<TangemPayCardFrozenState>
|
||||
|
||||
suspend fun store(key: String, value: TangemPayCardFrozenState)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue