diff --git a/consentium/src/main/java/fr/openium/consentium/api/adapter/PurposeChoiceAdapter.kt b/consentium/src/main/java/fr/openium/consentium/api/adapter/PurposeChoiceAdapter.kt index 6fa9cc4..98dcab2 100644 --- a/consentium/src/main/java/fr/openium/consentium/api/adapter/PurposeChoiceAdapter.kt +++ b/consentium/src/main/java/fr/openium/consentium/api/adapter/PurposeChoiceAdapter.kt @@ -6,5 +6,4 @@ import fr.openium.consentium.data.remote.model.PatchConsent internal fun PurposeChoice.toPatchConsentPurposeDTO() = PatchConsent.PurposeDTO( identifier = purposeIdentifier, choice = choice.toPurposeStatusDTO(), - vendors = vendors.map { it.toPatchConsentVendorDTO() } ) \ No newline at end of file diff --git a/consentium/src/main/java/fr/openium/consentium/data/remote/ConsentiumApi.kt b/consentium/src/main/java/fr/openium/consentium/data/remote/ConsentiumApi.kt index b14fc61..dcafb22 100644 --- a/consentium/src/main/java/fr/openium/consentium/data/remote/ConsentiumApi.kt +++ b/consentium/src/main/java/fr/openium/consentium/data/remote/ConsentiumApi.kt @@ -20,6 +20,6 @@ internal interface ConsentiumApi { suspend fun setConsents( @Header("Authorization") token: String, @Body patchConsent: PatchConsent.PatchConsentPayloadDTO, - ): Response + ): Response } \ No newline at end of file diff --git a/consentium/src/main/java/fr/openium/consentium/data/remote/mock/ConsentiumMock.kt b/consentium/src/main/java/fr/openium/consentium/data/remote/mock/ConsentiumMock.kt index f315137..2962614 100644 --- a/consentium/src/main/java/fr/openium/consentium/data/remote/mock/ConsentiumMock.kt +++ b/consentium/src/main/java/fr/openium/consentium/data/remote/mock/ConsentiumMock.kt @@ -32,7 +32,7 @@ internal object ConsentiumMockApi : ConsentiumApi { return Response.success(consents) } - override suspend fun setConsents(token: String, patchConsent: PatchConsent.PatchConsentPayloadDTO): Response { + override suspend fun setConsents(token: String, patchConsent: PatchConsent.PatchConsentPayloadDTO): Response { delay(2000) return Response.success(Unit) } diff --git a/consentium/src/main/java/fr/openium/consentium/data/remote/model/PatchConsentPayloadDTO.kt b/consentium/src/main/java/fr/openium/consentium/data/remote/model/PatchConsentPayloadDTO.kt index 3ef9818..056fb8e 100644 --- a/consentium/src/main/java/fr/openium/consentium/data/remote/model/PatchConsentPayloadDTO.kt +++ b/consentium/src/main/java/fr/openium/consentium/data/remote/model/PatchConsentPayloadDTO.kt @@ -14,7 +14,6 @@ internal sealed interface PatchConsent { data class PurposeDTO( @SerialName("identifier") val identifier: String, @SerialName("choice") val choice: PurposeStatusDTO, - @SerialName("vendors") val vendors: List? = null, ) @Serializable diff --git a/consentium/src/main/java/fr/openium/consentium/domain/repository/ConsentiumRepository.kt b/consentium/src/main/java/fr/openium/consentium/domain/repository/ConsentiumRepository.kt index c5bcae8..fc7481c 100644 --- a/consentium/src/main/java/fr/openium/consentium/domain/repository/ConsentiumRepository.kt +++ b/consentium/src/main/java/fr/openium/consentium/domain/repository/ConsentiumRepository.kt @@ -9,6 +9,7 @@ import fr.openium.consentium.api.model.PurposeChoice import fr.openium.consentium.data.remote.ConsentiumApi import fr.openium.consentium.data.remote.model.PatchConsent import fr.openium.consentium.domain.useCase.GetAuthTokenUseCase +import timber.log.Timber import javax.inject.Inject internal class ConsentiumRepository @Inject constructor( @@ -17,7 +18,6 @@ internal class ConsentiumRepository @Inject constructor( ) { suspend fun getConsents(apiKey: String): ConsentiumRepositoryGetResponse { - return try { val authToken = getAuthTokenUseCase(apiKey) val consentsResponse = consentiumApi.getConsents(authToken) @@ -37,23 +37,28 @@ internal class ConsentiumRepository @Inject constructor( } suspend fun setConsents( - applicationId: String, + apiKey: String, consents: List, ): ConsentiumRepositorySetResponse { - val authToken = getAuthTokenUseCase(applicationId) - - val setConsentResponse = consentiumApi.setConsents( - token = authToken, - patchConsent = PatchConsent.PatchConsentPayloadDTO( - purposes = consents.map { it.toPatchConsentPurposeDTO() }, + return try { + val authToken = getAuthTokenUseCase(apiKey) + val setConsentResponse = consentiumApi.setConsents( + token = authToken, + patchConsent = PatchConsent.PatchConsentPayloadDTO( + purposes = consents.map { it.toPatchConsentPurposeDTO() }, + ) ) - ) - return if (setConsentResponse.isSuccessful) { - ConsentiumRepositorySetResponse.SetConsentsSuccess - } else { + if (setConsentResponse.isSuccessful) { + ConsentiumRepositorySetResponse.SetConsentsSuccess + } else { + ConsentiumRepositorySetResponse.Error + } + } catch (e: Exception) { + Timber.d(e) ConsentiumRepositorySetResponse.Error } + } } diff --git a/consentium/src/prod/kotlin/fr/openium/consentium/ReleaseNetworkModule.kt b/consentium/src/prod/kotlin/fr/openium/consentium/ReleaseNetworkModule.kt new file mode 100644 index 0000000..41ba734 --- /dev/null +++ b/consentium/src/prod/kotlin/fr/openium/consentium/ReleaseNetworkModule.kt @@ -0,0 +1,29 @@ +package fr.openium.consentium + +import android.content.Context +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext +import dagger.hilt.components.SingletonComponent +import fr.openium.consentium.data.di.ConsentiumUrl +import fr.openium.consentium.data.di.NetworkModule +import okhttp3.HttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.OkHttpClient + +@Module +@InstallIn(SingletonComponent::class) +object ReleaseNetworkModule { + + @Provides + fun provideOkHttpBuilder(@ApplicationContext context: Context): OkHttpClient.Builder { + return NetworkModule.standardOkHttpBuilder(context) + } + + @ConsentiumUrl + @Provides + fun okHttpUrlConsentium(@ApplicationContext context: Context): HttpUrl = + context.getString(R.string.backend_url).toHttpUrl() + +} \ No newline at end of file