[FEAT] Epic C / C1 operativo — copia procedure di default al 1° accesso (mig.048)

PolicyController::list ora, al primo accesso al modulo Procedure di un'org reale,
copia le 42 procedure di default (cfg_nis2_procedure) in policies come contenuto
editabile/cancellabile (decisione utente: copia per-org al 1° accesso).
- organizations.framework_procedures_seeded_at = idempotenza (no ri-copia).
- categoria policies assegnata da mappa famiglia NIST->ENUM; nis2_article=misura;
  content riporta misure coperte + nota 'personalizzabile e cancellabile'.
- Salta org demo/sandbox (isDemo) per non inquinare il dataset dimostrativo.
- Best-effort: errore nel seed NON blocca la lista (log + return).
Smoke prod: org 151 3->45 policy (42 default, 10 categorie), idempotente al 2° accesso,
golden 151 poi ripristinato (cleanup). Additivo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-06-16 18:18:28 +02:00
co-authored by Claude Opus 4.8
parent b34bf3f9f6
commit 4570ce3ba1
2 changed files with 84 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
-- =====================================================================
-- 048 — Flag idempotenza per la copia procedure di default (Epic C / C1 operativo)
-- =====================================================================
-- Le 42 procedure di default (cfg_nis2_procedure) vengono copiate nell'elenco
-- procedure (policies) dell'org al PRIMO accesso al modulo, come contenuto
-- editabile/cancellabile. Questo flag evita la ri-copia.
-- Additivo, reversibile (ALTER ... DROP COLUMN framework_procedures_seeded_at).
-- =====================================================================
ALTER TABLE organizations
ADD COLUMN framework_procedures_seeded_at DATETIME NULL DEFAULT NULL;