[FEATURE] Modifier l’API permettant d’accepter les CGU afin de fonctionner avec le nouveau modèle (PIX-15588) #10894
+138
−79
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🎄 Problème
Afin de mettre en place le versionement des CGU de Pix Orga, il est nécessaire de modifier l’API permettant d’accepter les CGU afin de fonctionner avec le nouveau modèle.
🎁 Proposition
Pour la route
PATCH
/api/users/{id}/pix-orga-terms-of-service-acceptance
, modifier le use caseapi/src/identity-access-management/domain/usecases/accept-pix-orga-terms-of-service.usecase.js
pour modifier les informations de CGU en se basant sur la nouvelle APIacceptLegalDocumentByUserId
du contextelegal-document
.Pour simplifier le code on propose également de changer la valeur et le status code HTTP de retour de
userController.acceptPixOrgaTermsOfService
pour qu'il n'y ait pas de valeur de retour et que le status code HTTP soit204
. Cela est compatible avec la manière dont le code Ember du Front Pix Orga est réalisé, mais c'est un point qu'il faudra bien vérifier avec des tests de non-régression.🧦 Remarques
api/src/legal-documents/domain/usecases/accept-legal-document-by-user-id.usecase.js
ne tire pas parti du feature flagisLegalDocumentsVersioningEnabled
comme le fait le usecaseapi/src/legal-documents/domain/usecases/get-legal-document-status-by-user-id.usecase.js
. Mais il nous semble que tirer parti du feature flag aussi bien à la récupération qu'à la modification assurerait la non-interférence complète du nouveau code en production. Ce qui correspond à ce qu'on attend de l'utilisation d'un tel feature flag. Cette PR ne contient pas encore cette modification car cela n'avait pas été décidé ainsi au craquage. Point à discuter donc avant de finaliser cette PR.🎅 Pour tester
Tester d'abord avec des CGU non-existantes dans le nouveau modèle
[email protected]
) à un utilisateur non-existant (par exemple[email protected]
)Je m’inscris
) et en acceptant les CGU/api/users/{id}/pix-orga-terms-of-service-acceptance
est appelée sans erreurusers
a bien été modifiée et que le nouvel utilisateur a été créé avec les valeurs suivantes :pixOrgaTermsOfServiceAccepted
true
lastPixOrgaTermsOfServiceValidatedAt
avec la bonne date de créationTester ensuite avec des CGU existantes dans le nouveau modèle
[email protected]
) à un utilisateur non-existant (par exemple[email protected]
)Je m’inscris
) et en acceptant les CGU/api/users/{id}/pix-orga-terms-of-service-acceptance
est appelée sans erreurusers
et aussi la tablelegal-document-version-user-acceptances
ont bien été modifiées.Vérifier que le nouvel utilisateur a été avec les valeurs suivantes :
pixOrgaTermsOfServiceAccepted
true
lastPixOrgaTermsOfServiceValidatedAt
avec la bonne date de créationVérifier que l'acceptation des CGU a bien été enregistrée pour cet utilisateur avec l'acceptation avec la bonne valeur
acceptedAt
: