Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Modifier l’API permettant d’accepter les CGU afin de fonctionner avec le nouveau modèle (PIX-15588) #10894

Merged

Conversation

lego-technix
Copy link
Contributor

@lego-technix lego-technix commented Dec 23, 2024

🎄 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 case api/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 API acceptLegalDocumentByUserId du contexte legal-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 soit 204. 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

Un dernier commit a été ajouté pour rendre les usecases du context « legal documents », qui effectuent des modifications, transactionnels.

🎅 Pour tester

Tester d'abord avec des CGU non-existantes dans le nouveau modèle

  1. Faire une invitation à Pix Orga (par exemple depuis Pix Admin avec le compte [email protected]) à un utilisateur non-existant (par exemple [email protected])
  2. Accepter cette invitation en créant un nouveau compte (Je m’inscris) et en acceptant les CGU
  3. Vérifier que la route /api/users/{id}/pix-orga-terms-of-service-acceptance est appelée sans erreur
  4. Vérifier que la table users 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éation
select "id", "email", "username", "createdAt", "updatedAt", "pixOrgaTermsOfServiceAccepted", "lastPixOrgaTermsOfServiceValidatedAt" from "users" order by "updatedAt" desc limit 1;

Tester ensuite avec des CGU existantes dans le nouveau modèle

  1. Créer au préalable les CGU de Pix Orga avec le nouveau modèle avec la commande suivante :
node src/legal-documents/scripts/add-new-legal-document-version.js --type 'TOS' --service 'pix-orga' --versionAt '2024-01-02'
  1. Faire une invitation à Pix Orga (par exemple depuis Pix Admin avec le compte [email protected]) à un utilisateur non-existant (par exemple [email protected])
  2. Accepter cette invitation en créant un nouveau compte (Je m’inscris) et en acceptant les CGU
  3. Vérifier que la route /api/users/{id}/pix-orga-terms-of-service-acceptance est appelée sans erreur
  4. Vérifier que la table users et aussi la table legal-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éation
select "id", "email", "username", "createdAt", "updatedAt", "pixOrgaTermsOfServiceAccepted", "lastPixOrgaTermsOfServiceValidatedAt" from "users" order by "updatedAt" desc limit 1;

Vérifier que l'acceptation des CGU a bien été enregistrée pour cet utilisateur avec l'acceptation avec la bonne valeur acceptedAt :

select * from "legal-document-version-user-acceptances";

@lego-technix lego-technix self-assigned this Dec 23, 2024
@lego-technix lego-technix requested a review from a team as a code owner December 23, 2024 16:56
@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

@lego-technix lego-technix force-pushed the pix-15588-update-pix-orga-call-to-accept-TOS branch from e59f8d1 to b3f4598 Compare December 27, 2024 10:23
@lego-technix lego-technix changed the title [FEATURE] PIX-15588 Modifier l'appel Pix Orga qui accepte les CGU (PIX-15588) [FEATURE] Modifier l’API permettant d’accepter les CGU afin de fonctionner avec le nouveau modèle (PIX-15588) Dec 27, 2024
Copy link
Contributor

@EmmanuelleBonnemay EmmanuelleBonnemay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lu et testé avec succès

@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

@lego-technix lego-technix force-pushed the pix-15588-update-pix-orga-call-to-accept-TOS branch from 454f1e8 to 5b2b88b Compare January 6, 2025 11:04
@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

@P-Jeremy
Copy link
Contributor

P-Jeremy commented Jan 6, 2025

Test func OK ✅

image

@lego-technix lego-technix force-pushed the pix-15588-update-pix-orga-call-to-accept-TOS branch from 5b2b88b to 0396cd3 Compare January 7, 2025 06:58
@lego-technix lego-technix force-pushed the pix-15588-update-pix-orga-call-to-accept-TOS branch from 0396cd3 to 2828ff1 Compare January 7, 2025 14:03
@pix-service-auto-merge pix-service-auto-merge force-pushed the pix-15588-update-pix-orga-call-to-accept-TOS branch from 2828ff1 to a4f2316 Compare January 7, 2025 14:27
@pix-service-auto-merge pix-service-auto-merge merged commit 8301a94 into dev Jan 7, 2025
7 of 8 checks passed
@pix-service-auto-merge pix-service-auto-merge deleted the pix-15588-update-pix-orga-call-to-accept-TOS branch January 7, 2025 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants