diff --git a/docs/OPEN_TICKETS.md b/docs/OPEN_TICKETS.md index 37184cf..d16ec5c 100644 --- a/docs/OPEN_TICKETS.md +++ b/docs/OPEN_TICKETS.md @@ -3,4 +3,4 @@ Nessun ticket aperto. --- -_Ultimo sync: 2026-06-17 09:25:01_ +_Ultimo sync: 2026-06-17 12:10:01_ diff --git a/public/admin/organizations.html b/public/admin/organizations.html index efb710a..01c4bf5 100644 --- a/public/admin/organizations.html +++ b/public/admin/organizations.html @@ -211,7 +211,8 @@ try { const result = await api.request('GET', '/admin/organizations?page=' + page); if (result.success) { - renderOrganizations(result.data || [], result.pagination || {}); + // /admin/organizations risponde paginato: data = {items, total, page, per_page, pages}. + renderOrganizations((result.data && result.data.items) || (Array.isArray(result.data) ? result.data : []), (result.data && !Array.isArray(result.data)) ? result.data : (result.pagination || {})); } else { container.innerHTML = `
diff --git a/public/admin/users.html b/public/admin/users.html index dca48fb..b97570f 100644 --- a/public/admin/users.html +++ b/public/admin/users.html @@ -224,7 +224,8 @@ try { const result = await api.request('GET', '/admin/users?page=' + page); if (result.success) { - renderUsers(result.data || [], result.pagination || {}); + // /admin/users risponde paginato: data = {items, total, page, per_page, pages}. + renderUsers((result.data && result.data.items) || (Array.isArray(result.data) ? result.data : []), (result.data && !Array.isArray(result.data)) ? result.data : (result.pagination || {})); } else { container.innerHTML = `
diff --git a/public/assets.html b/public/assets.html index 5c7b932..be200fc 100644 --- a/public/assets.html +++ b/public/assets.html @@ -451,7 +451,7 @@ const container = document.getElementById('assets-container'); container.innerHTML = '

Caricamento inventario...

'; - const params = {}; + const params = { per_page: 100 }; const type = document.getElementById('filter-type').value; const criticality = document.getElementById('filter-criticality').value; const status = document.getElementById('filter-status').value; @@ -461,7 +461,8 @@ try { const result = await api.listAssets(params); if (result.success) { - allAssets = result.data || []; + // /assets/list risponde paginato: data = {items, total, ...}. Estrai l'array. + allAssets = (result.data && result.data.items) || (Array.isArray(result.data) ? result.data : []); const view = type ? allAssets.filter(a => a.voce_code === type) : allAssets; updateStats(view); renderAssets(view); diff --git a/public/incidents.html b/public/incidents.html index c1a325c..94c76f5 100644 --- a/public/incidents.html +++ b/public/incidents.html @@ -400,7 +400,8 @@ try { const result = await api.listIncidents(params); if (result.success) { - renderIncidentsTable(result.data || []); + // /incidents/list risponde paginato: data = {items, total, ...}. + renderIncidentsTable((result.data && result.data.items) || (Array.isArray(result.data) ? result.data : [])); } else { showNotification(result.message || 'Errore nel caricamento incidenti', 'error'); } diff --git a/public/reports.html b/public/reports.html index 1197c6e..6c9e91d 100644 --- a/public/reports.html +++ b/public/reports.html @@ -903,9 +903,11 @@ try { const result = await api.getAuditLogs({ page: auditPage, per_page: 25 }); if (result.success) { - const logs = result.data || []; - const pagination = result.pagination || {}; - auditTotalPages = pagination.total_pages || 1; + // /audit/logs risponde paginato: data = {items, total, page, per_page, pages}. + const d = result.data || {}; + const logs = Array.isArray(d) ? d : (d.items || []); + const pagination = Array.isArray(d) ? (result.pagination || {}) : d; + auditTotalPages = pagination.pages || pagination.total_pages || 1; renderAuditLogs(logs, pagination); } else { container.innerHTML = '

Errore nel caricamento

' + escapeHtml(result.message || '') + '

'; @@ -968,8 +970,8 @@ html += ''; - // Pagination - const totalPages = pagination.total_pages || 1; + // Pagination (data paginato: 'pages' = numero pagine totali) + const totalPages = pagination.pages || pagination.total_pages || 1; const currentPage = pagination.page || auditPage; html += `