fix: résoudre la collision des logicalId des groupes en multi-hubs et gérer le retour false de l'API#44
Open
jkurz78 wants to merge 1 commit intojeedom:betafrom
Open
fix: résoudre la collision des logicalId des groupes en multi-hubs et gérer le retour false de l'API#44jkurz78 wants to merge 1 commit intojeedom:betafrom
jkurz78 wants to merge 1 commit intojeedom:betafrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Résout #43
Changements
Le logicalId passe de {groupId} à {hubId}_{groupId} pour garantir l'unicité entre hubs.
L'ID Ajax brut est stocké dans configuration.group_id pour les appels API.
Si un groupe existe avec l'ancien format de logicalId, il est automatiquement migré vers le nouveau format lors de la prochaine synchronisation. Un log info est émis pour tracer la migration.
Avant d'itérer sur $groups, le code vérifie que la réponse est bien un tableau avec is_array(). Si ce n'est pas le cas, un log warning est émis au lieu d'un échec silencieux.
refreshData() gère maintenant le type group en récupérant la liste des groupes du hub et en filtrant par group_id.
Les commandes de groupe utilisent configuration.group_id au lieu du logicalId pour construire les URLs API, avec fallback sur le logicalId pour la rétrocompatibilité.
Impact
Utilisateurs mono-hub : aucun changement fonctionnel visible, juste un logicalId plus long
Utilisateurs multi-hubs : les groupes seront enfin correctement distincts après re-synchronisation
Groupes existants : migrés automatiquement, aucune intervention manuelle requise
Rétrocompatibilité : le fallback sur logicalId dans execute() assure le fonctionnement même sans re-sync immédiate