Skip to content

BDD-97 — Publier les données transformées en Source Heriade

User story

En tant qu'administrateur, je veux publier les données transformées en Source Heriade rattachée à un environnement métier, afin de les rendre disponibles aux utilisateurs autorisés.

Critères d'acceptance

CritèreStatutNotes
Publication déclenchée après exécution réussieBloc Destination publish_heriade après run success
Version incrémentée automatiquement v1 · v2 · v3publish_group_key + version sur sources
Version précédente passe en deprecateddeprecated_at sur l’ancienne version
Source rattachée à l'environnement métierMVP3 : environment_sources (non implémenté)
Source consultable via MVP 3⏳ partielConsultation MVP2 : /sources et /sources/:uuid

Périmètre livré (sans MVP3)

  • Exécution complète (staging BDD-120) → publication via WorkflowHeriadePublishService.
  • Réutilisation du mécanisme Sources existant : SchemaTableService.loadTable + enregistrement sources (source_type = WORKFLOW_PUBLISHED).
  • Aucune modification des modules sources/ et connections/ (logique workflow dans workflows/staging/).
  • UI Destination : lastResult avec publishedSourceUuid, publishVersion, lien vers la source.

Hors périmètre (MVP3)

  • Tables environments, environment_sources, environment_users, views.
  • Endpoints GET /api/environments/....
  • Filtrage des sources par membre d’environnement.

Technique

SQL

  • sql/tool_17_workflow_published_sources.sql : enum WORKFLOW_PUBLISHED, colonnes publish_group_key, version, deprecated_at, published_from_run_uuid.

Back

FichierRôle
workflow-publish-group-key.util.tsClé de groupe et nom de table wf_*_vN
workflow-heriade-publish.service.tsPublication staging → table Heriade + sources
workflow-destination-run.service.tsBranche publish_heriade
workflow-run-staging-execution.service.tsPropage publishedSourceUuid / publishVersion dans la réponse run

Front

FichierRôle
workflow-destination.engine.jslastResult enrichi
useWorkflowRun.jsSync après run
WorkflowDestinationPanel.vueLien /sources/:uuid, hints publication

Tests

  • Back : workflow-publish-group-key.util.spec.ts, workflow-heriade-publish.service.spec.ts, workflow-destination-run.service.spec.ts
  • Front : workflow-destination.engine.spec.js

Migration

Appliquer sql/tool_17_workflow_published_sources.sql, puis cd back && yarn db:generate.