pix icon indicating copy to clipboard operation
pix copied to clipboard

[TECH] :recycle: Met à jour le candidat dans une transaction (pix-20719)

Open yaf opened this issue 1 month ago • 1 comments

❄️ Problème

Nous avons découvert que certains candidats ont deux souscriptions du même type (CORE, etc.) en même temps, pour la même certification.

SELECT 
    "certificationCandidateId",
    COUNT(*) as nombre_complementary
FROM "certification-subscriptions"
WHERE type = 'COMPLEMENTARY'
GROUP BY "certificationCandidateId"
HAVING COUNT(*) > 1;

🛷 Proposition

Placer la mise à jour du candidat dans une transaction.

☃️ Remarques

Cette PR est une extraction de la PR #14350 . Ici, nous ne traitons que de la transaction. Nous gardons l'autre PR pour explorer un remaniement du code autour de la mise à jour d'un candidat.

🧑‍🎄 Pour tester

  • Créer une session de certification (dans pix Certif) ;
  • Créer un candidat ;
  • Modifier le candidat depuis deux navigateurs dans un délai très court (difficile tester la concurrence d'accès « à la main »);
  • S'assurer que tout ce passe bien

L'opération peu être répété avec un import de candidats via un fichier ODS.

yaf avatar Dec 08 '25 09:12 yaf

Choisir les applications à déployer :

[!IMPORTANT] N'oubliez pas de déployer l'API pour pouvoir accéder aux fronts et/ou à l’API MaDDo.

pix-bot-github avatar Dec 08 '25 09:12 pix-bot-github

:tada: This PR is included in version 5.278.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket:

pix-service avatar Dec 10 '25 11:12 pix-service