feat(CON-267) : Aligner les flux de post des consentements
This commit is contained in:
parent
af91841857
commit
9f9a66451f
@ -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() }
|
||||
)
|
@ -20,6 +20,6 @@ internal interface ConsentiumApi {
|
||||
suspend fun setConsents(
|
||||
@Header("Authorization") token: String,
|
||||
@Body patchConsent: PatchConsent.PatchConsentPayloadDTO,
|
||||
): Response<Any>
|
||||
): Response<Unit>
|
||||
|
||||
}
|
@ -32,7 +32,7 @@ internal object ConsentiumMockApi : ConsentiumApi {
|
||||
return Response.success(consents)
|
||||
}
|
||||
|
||||
override suspend fun setConsents(token: String, patchConsent: PatchConsent.PatchConsentPayloadDTO): Response<Any> {
|
||||
override suspend fun setConsents(token: String, patchConsent: PatchConsent.PatchConsentPayloadDTO): Response<Unit> {
|
||||
delay(2000)
|
||||
return Response.success(Unit)
|
||||
}
|
||||
|
@ -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<VendorDTO>? = null,
|
||||
)
|
||||
|
||||
@Serializable
|
||||
|
@ -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<PurposeChoice>,
|
||||
): 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
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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()
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user