Repository navigation
refactor(zone): migrer le module vers server-nestjs - #2487
Conversation
cb3ed08 to
6e21bd7
Compare
8ba885b to
0665f88
Compare
|
Réouverte : couverture des familles restantes pour #1889 — le fermeture précédente était un tri, pas un rejet du travail. |
|
Réouverte : famille requise pour #1889. Branche recréée depuis le SHA d'origine (l'ancienne ref avait été supprimée). |
bf68bcb to
319ea83
Compare
Extrait du module zone (#2487) : la bascule de routage nginx vit independamment du code NestJS et peut etre revue, mergée ou annulée seule. Refs #2486 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I7285fc2d1279d9e71aea3c42f8d3fada6a6a6964
319ea83 to
2995766
Compare
Extrait du module zone (#2487) : la bascule de routage nginx vit independamment du code NestJS et peut etre revue, mergée ou annulée seule. Refs #2486 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I7285fc2d1279d9e71aea3c42f8d3fada6a6a6964
f1c0338 to
673fd3a
Compare
Aligne le module user sur le pattern établi par le module zone (#2487) : - `user-queries.utils.ts` : suppression du `userSelect`/`UserRecord` morts, signatures sur `Prisma.TransactionClient`, `createUser` purement DB (la validation du doublon email monte dans le service en `ConflictException`). - `user.service.ts` : extraction de `resolveAdminRoleIds`, `patchUsersInTx`, `emitImpactedRoleEvents` ; patch des rôles sous transaction. - `user.module.ts` : imports repliés sur `InfrastructureModule` (déjà exporté par celui-ci). Refs #2738 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I3bd632f95dd466e585698eba738efcd86a6a6964
8e0d53c to
59df05e
Compare
Extrait du module zone (#2487) : la bascule de routage nginx vit independamment du code NestJS et peut etre revue, mergée ou annulée seule. Refs #2486 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I7285fc2d1279d9e71aea3c42f8d3fada6a6a6964
a954e30 to
66233df
Compare
Aligne le module user sur le pattern établi par le module zone (#2487) : - `user-queries.utils.ts` : suppression du `userSelect`/`UserRecord` morts, signatures sur `Prisma.TransactionClient`, `createUser` purement DB (la validation du doublon email monte dans le service en `ConflictException`). - `user.service.ts` : extraction de `resolveAdminRoleIds`, `patchUsersInTx`, `emitImpactedRoleEvents` ; patch des rôles sous transaction. - `user.module.ts` : imports repliés sur `InfrastructureModule` (déjà exporté par celui-ci). Refs #2738 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I3bd632f95dd466e585698eba738efcd86a6a6964
66233df to
7811dd9
Compare
Extrait du module zone (#2487) : la bascule de routage nginx vit independamment du code NestJS et peut etre revue, mergée ou annulée seule. Refs #2486 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I7285fc2d1279d9e71aea3c42f8d3fada6a6a6964
Aligne le module user sur le pattern établi par le module zone (#2487) : - `user-queries.utils.ts` : suppression du `userSelect`/`UserRecord` morts, signatures sur `Prisma.TransactionClient`, `createUser` purement DB (la validation du doublon email monte dans le service en `ConflictException`). - `user.service.ts` : extraction de `resolveAdminRoleIds`, `patchUsersInTx`, `emitImpactedRoleEvents` ; patch des rôles sous transaction. - `user.module.ts` : imports repliés sur `InfrastructureModule` (déjà exporté par celui-ci). Refs #2738 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I3bd632f95dd466e585698eba738efcd86a6a6964
28cbe6b to
3df3619
Compare
There was a problem hiding this comment.
La migration ne peut pas être acceptée : emitZoneEvent persiste une chaîne vide dans le champ UUID Log.projectId, ce qui transforme chaque mutation de zone réussie en erreur 500 après ses effets de bord. Les paramètres zoneId des écritures ne sont par ailleurs plus validés comme UUID par le contrat ; les deux écarts sont commentés en ligne. Ledger #2486 : 1/3 (tests ajoutés et CI verte, mais fonctionnalité bloquée et aucune documentation dans le diff) ; tous les anciens fils sont résolus, la branche est à 4 commits de main et le pont Keycloak/GitLab doit être livré via #2807 avant la bascule nginx.
Aligne le module user sur le pattern établi par le module zone (#2487) : - `user-queries.utils.ts` : suppression du `userSelect`/`UserRecord` morts, signatures sur `Prisma.TransactionClient`, `createUser` purement DB (la validation du doublon email monte dans le service en `ConflictException`). - `user.service.ts` : extraction de `resolveAdminRoleIds`, `patchUsersInTx`, `emitImpactedRoleEvents` ; patch des rôles sous transaction. - `user.module.ts` : imports repliés sur `InfrastructureModule` (déjà exporté par celui-ci). Refs #2738 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I3bd632f95dd466e585698eba738efcd86a6a6964
Aligne le module user sur le pattern établi par le module zone (#2487) : - `user-queries.utils.ts` : suppression du `userSelect`/`UserRecord` morts, signatures sur `Prisma.TransactionClient`, `createUser` purement DB (la validation du doublon email monte dans le service en `ConflictException`). - `user.service.ts` : extraction de `resolveAdminRoleIds`, `patchUsersInTx`, `emitImpactedRoleEvents` ; patch des rôles sous transaction. - `user.module.ts` : imports repliés sur `InfrastructureModule` (déjà exporté par celui-ci). Refs #2738 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I3bd632f95dd466e585698eba738efcd86a6a6964
Extrait du module zone (#2487) : la bascule de routage nginx vit independamment du code NestJS et peut etre revue, mergée ou annulée seule. Refs #2486 Co-authored-by: Automata <automata@shikanime.studio> Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I7285fc2d1279d9e71aea3c42f8d3fada6a6a6964
shikanime
left a comment
There was a problem hiding this comment.
Verdict : Commentaire
Migration du module zone vérifiée à la tête 9626bfd4 : les deux constats de la revue du 02/10 sont corrigés (projectId: null persisté via emitAndLog, ParseUUIDPipe sur PUT/DELETE avec test HTTP 400), réponses apportées sur les deux fils. La chaîne de réconciliation (émission → résultats fusionnés → 422 → suppression) respecte l'ordre legacy ; le pont keycloak/gitlab reste porté par #2807 avant la bascule #2770. CI verte à la tête (run 37005627170), scan de sécurité du diff : néant.
✨ La suppression placée derrière la réconciliation (422 avant prisma.zone.delete) reproduit exactement l'ordre du legacy zone/business.ts — la correction vit à la racine du service, pas une garde par route.
StephaneTrebel
left a comment
There was a problem hiding this comment.
Les deux constats bloquants sont corrigés : les journaux de zone portent désormais projectId null et les paramètres zoneId sont validés avant Prisma, avec les tests HTTP associés. Ledger #2486 : 2/3 (documentation absente du diff) ; fils résolus et CI verte sur cette tête, le pont Keycloak/GitLab #2807 reste le prérequis de la bascule #2770.
Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I2f7a4c98661c6c054213ef5b2ba5dec26a6a6964 Co-authored-by: Automata <automata@shikanime.studio>
Co-authored-by: Automata <automata@shikanime.studio>
Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I551760c6cea6ac8d75d0b10b89764f426a6a6964
|

0 New Issues
1 Fixed Issue
0 Accepted Issues
Issues liées
Refs #2486
Quel est le comportement actuel ?
Le module
zone(zones, environnements par zone) est servi par l'ancienne application Fastifyapps/server, et le routage nginx associé est géré séparément.Quel est le nouveau comportement ?
Migration du module
zoneversapps/server-nestjs:ZoneController,ZoneService,ZoneModule.zone-queries.utils.ts: sélections Prisma typées,linkZoneToClusterspour la composition transactionnelle.zone-testing.utils.ts: fabriquesfakerpour les tests.main.module.ts.apps/server/src/resources/zone/.Cette PR introduit-elle un breaking change ?
Non.
Autres informations
La bascule de routage nginx est extraite dans #2770 (PR stackée) pour être revue indépendamment.