From c89b435f0d5308b66862d64b0ab928d2b3711f30 Mon Sep 17 00:00:00 2001 From: DevEnv nis2-agile Date: Sun, 31 May 2026 08:11:03 +0200 Subject: [PATCH] [FEAT] UI Requisiti ACN in Audit&Report + ripristino reports.html corrotto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - reports.html: RIPRISTINATO da HEAD (working tree corrotto: 89 tab 'Report Esecutivo' duplicati, ~146 righe spazzatura non committate; HEAD era sano). La corruzione era servita live, ora risolta. - Nuovo tab 'Requisiti ACN': mostra gli 87/116 requisiti specifiche-base per funzione (GV/ID/PR/DE/RS/RC) con % compliance, summary stati e cambio stato inline (select -> PUT). - api.js: getAcnRequirements + updateAcnRequirement. JS validato (node --check). Endpoint E2E già verde (org importante 87 req, PUT implemented ok). Co-Authored-By: Claude Opus 4.8 (1M context) --- public/js/api.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/public/js/api.js b/public/js/api.js index 51edc52..5c2de9e 100644 --- a/public/js/api.js +++ b/public/js/api.js @@ -267,7 +267,9 @@ class NIS2API { scoreAsset(id, criteria) { return this.post(`/assets/${id}/score`, { criteria }); } listRelevantSystems() { return this.get('/assets/relevantSystems'); } importAssets(data) { return this.post('/assets/import', data); } // P2 import CMDB/CSV - getControlsMonitoring() { return this.get('/audit/controlsMonitoring'); } // P1 continuous control monitoring (JWT) + getControlsMonitoring() { return this.get('/audit/controlsMonitoring'); } + getAcnRequirements() { return this.get('/audit/acnRequirements'); } // requisiti ACN per org + updateAcnRequirement(id, status, note) { return this.put(`/audit/acnRequirements/${id}`, { status, evidence_note: note }); } // P1 continuous control monitoring (JWT) // ═══════════════════════════════════════════════════════════════════ // Audit