Skip to content

BDD-140 — Nouveaux blocs de transformation dans l'éditeur workflow

Objectif

Enrichir la palette de transformations du workflow avec de nouveaux blocs configurables (découpage, concaténation, extraction, dates, conditions, pivot, empilement), afin de traiter les données sans écrire de code.

Périmètre livré

Sous-types Traitement ajoutés dans l'inspecteur :

config.typeLibellé UI
decouper_colonneDécouper colonne
concatenerConcaténer
extraire_caracteresExtraire caractères
extraire_dateExtraire date
logique_conditionnelleLogique conditionnelle
pivotPivot
unpivotUnpivot
empilerEmpiler (Add)
ignorer_lignesIgnorer les lignes
promouvoir_en_tetesPromouvoir en-têtes
  • Chaque bloc dispose d'un panneau dédié, d'une configuration JSONB persistée et d'un aperçu éditeur (5 lignes).
  • Ignorer les lignes / Promouvoir en-têtes : opèrent sur les lignes reçues de l'amont (pas sur le fichier brut) ; placement libre dans le pipeline (une entrée amont).
  • L'exécution complète passe par le staging SQL (WorkflowRunStagingExecutionService).
  • Empiler : deux entrées obligatoires, validation de structure identique (distinct de Croiser / jointure).
  • Messages d'erreur explicites en cas de configuration invalide ou schéma incompatible.

Fichiers principaux

RôleChemin
Registre sous-typesfront/src/pages/admin/workflows/workflow-traitement-subtype.registry.js
Options inspecteurfront/src/pages/admin/workflows/workflow-treatment-type-options.js
Pipeline aperçufront/src/pages/admin/workflows/workflow-traitement-preview.pipeline.js
Validation avant runfront/src/pages/admin/workflows/workflow-run-validation.js
Orchestration runback/src/api/workflows/staging/workflow-run-staging-execution.service.ts

Chaque bloc suit le triptyque BDD-132/133 : moteur front workflow-*.engine.js, panneau Workflow*Panel.vue, moteur back execution/workflow-*.engine.ts, staging staging/workflow-*-staging.service.ts.

API

  • PUT /workflows/:uuid/canvasnodes[].config avec type parmi les valeurs ci-dessus.

Tests

  • Front : workflow-bdd140-engines.spec.js, specs pipeline / sync / validation existants.
  • Back : workflow-*.engine.spec.ts, workflow-*-staging.service.spec.ts, workflow-run-staging-execution.service.spec.ts.