Skip to content

refactor: reprocess service#438

Merged
nsenave merged 2 commits intodevReprocessRawDatasfrom
refactor/reprocess-service
Mar 30, 2026
Merged

refactor: reprocess service#438
nsenave merged 2 commits intodevReprocessRawDatasfrom
refactor/reprocess-service

Conversation

@nsenave
Copy link
Copy Markdown

@nsenave nsenave commented Mar 30, 2026

@Hajarel-moukh j'ai d'abord voulu réduire la complexité qu'on avait dans le reprocessing (NB : le plugin CodeMetrics d'intellij est pas mal pour ça, ça invite à corriger tout de suite les parties du code qui deviennent complexes) ; en tirant le fil j'ai été un peu plus loin, mais j'ai laissé la logique telle qu'elle.

J'aurais pu commit direct sur ta branche mais je fais une PR pour que tu puisses revoir facilement le git diff.

Refacto :

  • Principalement : j'ai isolé la logique de reprocessing à part (dans l'idée une classe = un but).
  • ⚠️ en l'état le reprocessing pour les données brutes Lunatic utilise une fonction dépréciée.
  • ❓ J'ai l'impression qu'on ne gère pas le cas où le DataProcessResult contient des erreurs dans le reprocessing.
  • Je me suis un peu embêté pour pas dupliquer la logique du reprocessing dans le domain.
  • Controller advice / exception handlers : j'ai refacto finalement, mais seulement sur le nouveau code, pour pas ajouter de nouvelle dette technique.
    • Au passage j'ai fait ça pour respecter la RFC 9457 (merci @davdarras)

Quelques remarques plus générales sur des choses que j'ai vues dans la base de code :

  • ⚠️ on ne veut pas de logique métier dans les controllers / pas de notions techniques (exemple : code retour http) dans le domaine
    • NB : On pourrait déplacer les exceptions métier dans le domaine.
  • J'ai viré un "ApiPort" qui n'était pas utilisé dans des couches supérieures (le "PersistencePort" suffit)
    • 👀 y a peut-être pas mal de méthode d'api ports (ports in du domain) qui ne servent pas et qu'on pourrait virer

@nsenave nsenave requested a review from Hajarel-moukh March 30, 2026 06:05
@nsenave nsenave self-assigned this Mar 30, 2026
@sonarqubecloud
Copy link
Copy Markdown

@nsenave
Copy link
Copy Markdown
Author

nsenave commented Mar 30, 2026

La CI maven passe pas sur cette branche à cause de

Error:  Failed to execute goal on project genesis-api: Could not resolve dependencies for project fr.insee.genesis:genesis-api:jar:2.4.2
Error:  dependency: fr.insee.bpm:bpm:jar:1.1.0 (compile)
Error:  	Could not find artifact fr.insee.bpm:bpm:jar:1.1.0 in central (https://repo.maven.apache.org/maven2)
Error:  -> [Help 1]

J'arrive pas à comprendre pourquoi 🤔 J'ai touché ni au pom, si aux workflows.

Localement les tests passent

@nsenave nsenave merged commit 3fcba11 into devReprocessRawDatas Mar 30, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant