feat(CON-206) : [UI] - Create Data / Domain layer to retrive the configuration.
This commit is contained in:
@ -16,7 +16,7 @@ import timber.log.Timber
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
class DebugNetworkModule {
|
||||
class ConsentiumDebugNetworkModule {
|
||||
|
||||
@Provides
|
||||
fun provideOkHttpBuilder(
|
@ -9,10 +9,10 @@ import fr.openium.consentium.api.model.VendorIdentifier
|
||||
import fr.openium.consentium.api.model.VendorStatus
|
||||
import fr.openium.consentium.api.state.FetchConsentiumState
|
||||
import fr.openium.consentium.api.state.SetConsentiumState
|
||||
import fr.openium.consentium.data.di.RepositoryEntryPoint
|
||||
import fr.openium.consentium.data.repository.ConsentiumRepository
|
||||
import fr.openium.consentium.data.repository.ConsentiumRepositoryGetResponse
|
||||
import fr.openium.consentium.data.repository.ConsentiumRepositorySetResponse
|
||||
import fr.openium.consentium.domain.di.RepositoryEntryPoint
|
||||
import fr.openium.consentium.domain.repository.ConsentiumRepository
|
||||
import fr.openium.consentium.domain.repository.ConsentiumRepositoryGetResponse
|
||||
import fr.openium.consentium.domain.repository.ConsentiumRepositorySetResponse
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
|
||||
|
@ -28,7 +28,7 @@ private val json by lazy {
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
internal object NetworkModule {
|
||||
object NetworkModule {
|
||||
|
||||
@OkHttpClientDefault
|
||||
@Provides
|
||||
@ -51,7 +51,7 @@ internal object NetworkModule {
|
||||
|
||||
@Reusable
|
||||
@Provides
|
||||
fun provideConsentiumApi(
|
||||
internal fun provideConsentiumApi(
|
||||
@ConsentiumUrl url: HttpUrl,
|
||||
@OkHttpClientDefault okHttpClient: Lazy<OkHttpClient>,
|
||||
): ConsentiumApi =
|
||||
@ -71,8 +71,8 @@ internal object NetworkModule {
|
||||
|
||||
@Qualifier
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
internal annotation class ConsentiumUrl
|
||||
annotation class ConsentiumUrl
|
||||
|
||||
@Qualifier
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
internal annotation class OkHttpClientDefault
|
||||
annotation class OkHttpClientDefault
|
||||
|
@ -1,9 +1,9 @@
|
||||
package fr.openium.consentium.data.di
|
||||
package fr.openium.consentium.domain.di
|
||||
|
||||
import dagger.hilt.EntryPoint
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import fr.openium.consentium.data.repository.ConsentiumRepository
|
||||
import fr.openium.consentium.domain.repository.ConsentiumRepository
|
||||
|
||||
@EntryPoint
|
||||
@InstallIn(SingletonComponent::class)
|
@ -1,4 +1,4 @@
|
||||
package fr.openium.consentium.data.repository
|
||||
package fr.openium.consentium.domain.repository
|
||||
|
||||
import fr.openium.consentium.api.adapter.toPatchConsentPurposeDTO
|
||||
import fr.openium.consentium.api.adapter.toPurpose
|
@ -0,0 +1,18 @@
|
||||
package fr.openium.consentium.domain.useCase
|
||||
|
||||
import fr.openium.consentium.data.local.ConsentiumDataStore
|
||||
import javax.inject.Inject
|
||||
|
||||
interface GetConsentiumUniqueInstallationIdUseCase {
|
||||
suspend fun invoke(): String
|
||||
}
|
||||
|
||||
class GetConsentiumUniqueInstallationIdUseCaseImpl @Inject internal constructor(
|
||||
private val consentiumDataStore: ConsentiumDataStore,
|
||||
) : GetConsentiumUniqueInstallationIdUseCase {
|
||||
|
||||
override suspend fun invoke(): String {
|
||||
return consentiumDataStore.getInstallationUniqueId()
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package fr.openium.consentium.domain.useCase.di
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import fr.openium.consentium.domain.useCase.GetConsentiumUniqueInstallationIdUseCase
|
||||
import fr.openium.consentium.domain.useCase.GetConsentiumUniqueInstallationIdUseCaseImpl
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
interface ConsentiumUseCaseModule {
|
||||
|
||||
@Binds
|
||||
fun bindGetUniqueInstallationIdUseCase(
|
||||
getUniqueInstallationIdUseCaseImpl: GetConsentiumUniqueInstallationIdUseCaseImpl,
|
||||
): GetConsentiumUniqueInstallationIdUseCase
|
||||
|
||||
}
|
Reference in New Issue
Block a user