Appearance
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ère | Statut | Notes |
|---|---|---|
| Publication déclenchée après exécution réussie | ✅ | Bloc Destination publish_heriade après run success |
| Version incrémentée automatiquement v1 · v2 · v3 | ✅ | publish_group_key + version sur sources |
Version précédente passe en deprecated | ✅ | deprecated_at sur l’ancienne version |
| Source rattachée à l'environnement métier | ⏳ | MVP3 : environment_sources (non implémenté) |
| Source consultable via MVP 3 | ⏳ partiel | Consultation 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+ enregistrementsources(source_type = WORKFLOW_PUBLISHED). - Aucune modification des modules
sources/etconnections/(logique workflow dansworkflows/staging/). - UI Destination :
lastResultavecpublishedSourceUuid,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: enumWORKFLOW_PUBLISHED, colonnespublish_group_key,version,deprecated_at,published_from_run_uuid.
Back
| Fichier | Rôle |
|---|---|
workflow-publish-group-key.util.ts | Clé de groupe et nom de table wf_*_vN |
workflow-heriade-publish.service.ts | Publication staging → table Heriade + sources |
workflow-destination-run.service.ts | Branche publish_heriade |
workflow-run-staging-execution.service.ts | Propage publishedSourceUuid / publishVersion dans la réponse run |
Front
| Fichier | Rôle |
|---|---|
workflow-destination.engine.js | lastResult enrichi |
useWorkflowRun.js | Sync après run |
WorkflowDestinationPanel.vue | Lien /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.
