Skip to content

[BUGFIX] Vérification des CGUs acceptées avant acceptation (PIX-16377) #11304

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

Merged
merged 2 commits into from
Feb 3, 2025

Conversation

bpetetot
Copy link
Contributor

@bpetetot bpetetot commented Feb 3, 2025

🥞 Problème

L’appel /api/users/{id}/pix-orga-terms-of-service-acceptance provoque des erreurs 500 quand les CGUs ont déjà été acceptées.

DatabaseError: /* path: /api/users/{id}/pix-orga-terms-of-service-acceptance */ insert into "legal-document-version-user-acceptances" ("legalDocumentVersionId", "userId") values ($1, $2) - duplicate key value violates unique constraint "legal_document_version_user_acceptances_userid_legaldocumentver"

Cela peut survenir quand l’utilisateur a plusieurs pages d’ouvertes sur lesquelles la validation des CGUs est demandée.

🥓 Proposition

Ajouter une vérification au moment de l'acceptation d'un document pour s'assurer qu'elle n'a pas été déjà réalisée.

🧃 Remarques

Correction du script de conversion des CGUs des utilisateurs, pour garantir un ordre dans la requête de récupération des utilisateurs paginés.

😋 Pour tester

Pré-requis
Exécuter le script depuis le dossier API :

node src/legal-documents/scripts/add-new-legal-document-version.js --type="TOS" --service="pix-orga" --versionAt="2022-11-30"

Scénario

  1. Se connecter à Pix Orga avec le compte allorga@example.net
  2. Récupérer l'access token dans le local storage (pour le renseigner dans le CURL suivant)

Exécuter la commande cURL suivante en remplaçant ACCESS_TOKEN par le token utilisateur, vérifier que le user id (10001) est celui utilisé, et que l'URL (http://localhost:4201) correspond à votre environnement:

curl -X 'PATCH' 'http://localhost:4201/api/users/10001/pix-orga-terms-of-service-acceptance' -H 'Authorization: Bearer ACCESS_TOKEN'

_

Cette commande NE DOIT PAS retourner une erreur 500, si elle est exécuter plusieurs fois de suite:

{"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred"}

@bpetetot bpetetot self-assigned this Feb 3, 2025
@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 :

@bpetetot bpetetot added team-acces 👀 Tech Review Needed 👀 Func Review Needed Need PO validation for this functionally labels Feb 3, 2025
@bpetetot bpetetot marked this pull request as ready for review February 3, 2025 13:23
@P-Jeremy
Copy link
Contributor

P-Jeremy commented Feb 3, 2025

Test func OK ✅

@bpetetot bpetetot force-pushed the pix-16377-check-cgu-before-acceptation branch from 3fb754a to 667b572 Compare February 3, 2025 14:08
@theotime2005
Copy link
Contributor

Si on a un code 204 c'est ok?

@bpetetot
Copy link
Contributor Author

bpetetot commented Feb 3, 2025

Si on a un code 204 c'est ok?

@theotime2005 Oui c'est bon. Le code 204 signifie un succès sans données retournées par l'appel (doc: https://developer.mozilla.org/fr/docs/Web/HTTP/Status/204)

@bpetetot bpetetot added Tech Review OK 🚀 Ready to Merge Func Review OK PO validated functionally the PR and removed 👀 Tech Review Needed 👀 Func Review Needed Need PO validation for this functionally labels Feb 3, 2025
@pix-service-auto-merge pix-service-auto-merge force-pushed the pix-16377-check-cgu-before-acceptation branch from 667b572 to 5906da6 Compare February 3, 2025 14:57
@pix-service-auto-merge pix-service-auto-merge merged commit 5011ff6 into dev Feb 3, 2025
8 of 10 checks passed
@pix-service-auto-merge pix-service-auto-merge deleted the pix-16377-check-cgu-before-acceptation branch February 3, 2025 15:03
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.

5 participants