Skip to content

feature/VSN-2887 - propagate email change to all linked passengers

youssef.achkir a demandé de fusionner feature/VSN-2887 vers develop

Problème

Lors du changement d'e-mail d'un représentant lié à plusieurs usagers, seule la ligne correspondant au représentant trouvé par findByUuid était mise à jour. Les autres lignes (même personne, passenger_id différent) conservaient l'ancien e-mail, entraînant une incohérence des données en base.

Cause racine

Le modèle Representative est dénormalisé : une même personne réelle est stockée en N lignes distinctes, une par usager lié. Il n'existe pas d'entité représentant partagée — les données (email, nom, prénom) sont dupliquées sur chaque ligne. Un simple save(rep) ne touche qu'une seule ligne.

Comportement après correctif

  • Un représentant lié à N usagers → les N lignes sont mises à jour en une seule requête UPDATE
  • Le log trace le nombre de lignes impactées
  • Le flux Keycloak et la confirmation par e-mail restent inchangés

Rapports de requête de fusion