Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TRA 15239] Export registre entrant #3910

Open
wants to merge 22 commits into
base: dev
Choose a base branch
from
Open

[TRA 15239] Export registre entrant #3910

wants to merge 22 commits into from

Conversation

silto
Copy link
Collaborator

@silto silto commented Jan 15, 2025

Contexte

Cette PR ajoute l'export V2 des registres entrants.
Cet export rassemble :

  • Registre RNDTS DND entrant
  • Registre RNDTS TEXS entrant
  • BSDD
  • BSDA
  • BSDASRI
  • BSFF
  • BSVHU
  • BSPAOH

Les principaux composants permettant l'ajout de tout ça dans l'export se trouvent dans les fichiers registryV2 (pour les bordereaux) et registry (pour les registres RNDTS, dans libs).

Ces fichiers contiennent 3 composants principaux:

  • toIncomingWasteV2 -> mapping pour passer de bordereau/ligne de registre au format d'export
  • updateRegistryLookup -> méthode de mise à jour de la table RegistryLookup, qui sert à chercher les lignes à intégrer à l'export
  • rebuildRegistryLookup -> méthode qui permet de recréer la table lookup, en cas de problème ou pour l'initialisation

les méthodes toIncomingWasteV2 sont utilisées au moment de l'export. Les méthodes updateRegistryLookup sont utilisées à la création/update/suppression de lignes de registre et de bordereaux (un peu comme les updates elastic).

Les méthodes rebuildRegistryLookup sont utilisées uniquement dans le script de rebuild (npx nx run back:rebuild-registry-lookup).

A part ça, beaucoup de changements de la structure des fichiers liés à l'export, parce que je me suis rendu compte que ça faisait plus de sens. Par exemple rassembler la logique d'export des registres dans back/registryV2 au lieu d'être splité dans libs/registry, ce qui n'est pas logique car libs/registry concerne les imports de registres RNDTS, pas les exports (qui concernent à la fois les bordereaux et les registres RNDTS).

Check d'intégrité

J'ai ajouté dans le script back/src/scripts/bin/rebuildRegistryLookup.ts un chek d'intégrité permettant de vérifier que les bordereaux apparaissant dans les registres V1 (elastic) apparaissent bien dans les registres v2 (lookup). Je me chargerai de run ce script de temps en temps en recette puis en prod afin de valider qu'il n'y a pas de drift après la création/modification de bordereaux.

A faire au deploy

Besoin de réindexer dans la table lookup après le merge:

npx nx run back:rebuild-registry-lookup

Points de vigilance pour les intégrateurs

Les anciens endpoints de registres ne changent pas, ces nouveaux exports sont séparés dans des endpoints registryV2 de façon à ne pas avoir de conflits et permettre une transition "douce".

Démo

export.registre.entrant.demo.mov

Ticket Favro

Inclure les déclarations de D(N)D entrant et TEXS D(N)D dans l'export de registre entrant

Checklist

  • Mettre à jour la documentation
  • Mettre à jour le change log
  • Documenter les manipulations à faire lors de la mise en production (sur le ticket Favro de release)
  • Informer le data engineer de tout changement de schéma DB

silto added 21 commits January 24, 2025 18:19
…oming waste/incoming texs mapping to incoming registry export + lookup utilities + update export registry structure to fit the spec
…up utils to avoid useless grouping in lookup/utils of registry specific methods
…2) comparator to check if there is any drift on BSD indexing for registries. add an option to only rebuild lookup for some types of registry/bsd
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
8.0% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant