Files
unionflow-client-quarkus-pr…/MIGRATION_UUID_CLIENT.md
2025-11-17 16:02:04 +00:00

5.6 KiB

Guide de Migration UUID - Code Client

Vue d'ensemble

Ce document décrit les changements nécessaires dans le code client (unionflow-client-quarkus-primefaces-freya) pour utiliser UUID au lieu de Long.

Fichiers modifiés

Services Client (Interfaces REST)

MembreService.java

  • obtenirParId(@PathParam("id") UUID id) - Changé de Long vers UUID
  • modifier(@PathParam("id") UUID id, ...) - Changé de Long vers UUID
  • supprimer(@PathParam("id") UUID id) - Changé de Long vers UUID
  • activer(@PathParam("id") UUID id) - Changé de Long vers UUID
  • desactiver(@PathParam("id") UUID id) - Changé de Long vers UUID
  • suspendre(@PathParam("id") UUID id) - Changé de Long vers UUID
  • radier(@PathParam("id") UUID id) - Changé de Long vers UUID
  • listerParAssociation(@PathParam("associationId") UUID associationId) - Changé de Long vers UUID
  • rechercher(..., @QueryParam("associationId") UUID associationId, ...) - Changé de Long vers UUID
  • exporterExcel(..., @QueryParam("associationId") UUID associationId, ...) - Changé de Long vers UUID
  • importerDonnees(..., @FormParam("associationId") UUID associationId) - Changé de Long vers UUID

AssociationService.java

  • obtenirParId(@PathParam("id") UUID id) - Changé de Long vers UUID
  • modifier(@PathParam("id") UUID id, ...) - Changé de Long vers UUID
  • supprimer(@PathParam("id") UUID id) - Changé de Long vers UUID
  • activer(@PathParam("id") UUID id) - Changé de Long vers UUID
  • desactiver(@PathParam("id") UUID id) - Changé de Long vers UUID
  • suspendre(@PathParam("id") UUID id) - Changé de Long vers UUID
  • dissoudre(@PathParam("id") UUID id) - Changé de Long vers UUID
  • compterMembres(@PathParam("id") UUID id) - Changé de Long vers UUID
  • obtenirPerformance(@PathParam("id") UUID id) - Changé de Long vers UUID
  • PerformanceAssociationDTO.associationId - Changé de Long vers UUID

DTOs Client

MembreDTO.java

  • private UUID id; - Changé de Long vers UUID
  • private UUID associationId; - Changé de Long vers UUID
  • Getters et setters mis à jour

AssociationDTO.java

  • private UUID id; - Changé de Long vers UUID
  • Getters et setters mis à jour

Fichiers à mettre à jour (Beans JSF)

Les Beans JSF suivants utilisent encore Long et doivent être mis à jour :

Beans avec IDs Long dans les classes internes

  1. UserSession.java

    • UserInfo.id : Long → UUID
    • EntiteInfo.id : Long → UUID
  2. DemandesBean.java

    • DemandeItem.id : Long → UUID
    • Gestionnaire.id : Long → UUID
  3. UtilisateursBean.java

    • UtilisateurItem.id : Long → UUID
    • OrganisationItem.id : Long → UUID
    • Remplacer setId(1L), setId(2L), etc. par UUID.randomUUID()
  4. SuperAdminBean.java

    • AlerteItem.id : Long → UUID
    • Remplacer setId(1L), setId(2L), etc. par UUID.randomUUID()
  5. MembreRechercheBean.java

    • RechercheItem.id : Long → UUID
    • MembreItem.id : Long → UUID
    • Remplacer setId(1L), setId(2L) par UUID.randomUUID()
  6. MembreProfilBean.java

    • ActiviteItem.id : Long → UUID
  7. EvenementsBean.java

    • EvenementItem.id : Long → UUID
  8. EntitesGestionBean.java

    • EntiteItem.id : Long → UUID
  9. DocumentsBean.java

    • DocumentItem.id : Long → UUID
    • CategorieItem.id : Long → UUID
  10. DemandesAideBean.java

    • DemandeItem.id : Long → UUID
  11. CotisationsGestionBean.java

    • CotisationItem.id : Long → UUID
    • MembreItem.id : Long → UUID
  12. CotisationsBean.java

    • CotisationItem.id : Long → UUID
  13. RapportsBean.java

    • RapportItem.id : Long → UUID

Beans avec données mockées

  • SouscriptionBean.java : souscriptionActive.setId(1L)UUID.randomUUID()
  • FormulaireBean.java : starter.setId(1L), etc. → UUID.randomUUID()
  • AdminFormulaireBean.java : starter.setId(1L), etc. → UUID.randomUUID()
  • AuthenticationService.java : Tous les setId(1L), setId(2L), etc. → UUID.randomUUID()

DTOs supplémentaires à vérifier

  • SouscriptionDTO.java : private Long id;private UUID id;
  • FormulaireDTO.java : private Long id;private UUID id;
  • LoginResponse.java : UserInfo.id et EntiteInfo.id → UUID

Notes importantes

  1. Conversion automatique : JAX-RS/MicroProfile REST Client convertit automatiquement les UUID en String dans les URLs
  2. Validation : Les UUIDs sont validés automatiquement par JAX-RS
  3. Null safety : Vérifier que les UUIDs ne sont pas null avant utilisation
  4. Tests : Mettre à jour tous les tests qui utilisent des IDs Long

Exemple de migration

Avant

@GET
@Path("/{id}")
MembreDTO obtenirParId(@PathParam("id") Long id);

// Dans un Bean
membreService.obtenirParId(1L);

Après

@GET
@Path("/{id}")
MembreDTO obtenirParId(@PathParam("id") UUID id);

// Dans un Bean
UUID membreId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000");
membreService.obtenirParId(membreId);

Prochaines étapes

  1. Mettre à jour les services client (MembreService, AssociationService)
  2. Mettre à jour les DTOs principaux (MembreDTO, AssociationDTO)
  3. Mettre à jour tous les Beans JSF
  4. Mettre à jour les DTOs restants
  5. Mettre à jour les données mockées dans AuthenticationService
  6. Tester l'application complète

Support

Pour toute question concernant cette migration, contactez l'équipe UnionFlow.

Date de migration: 16 janvier 2025
Version: 2.0
Auteur: UnionFlow Team