diff --git a/scripts/src/hwlab-node-web-sentinel-service.ts b/scripts/src/hwlab-node-web-sentinel-service.ts index 802b7ac4..7fea0508 100644 --- a/scripts/src/hwlab-node-web-sentinel-service.ts +++ b/scripts/src/hwlab-node-web-sentinel-service.ts @@ -1165,12 +1165,15 @@ function storedFindingDetailForRow(db: Database, row: Record, r if (details.length === 0) return null; const findingId = stringOrNull(row.finding_id) ?? stringOrNull(row.findingId) ?? stringOrNull(row.code); const severity = stringOrNull(row.severity); - return details.find((item) => { + const sameIdDetails = details.filter((item) => { const itemId = stringOrNull(item.finding_id) ?? stringOrNull(item.findingId) ?? stringOrNull(item.id) ?? stringOrNull(item.code); - if (itemId !== findingId) return false; - const itemSeverity = stringOrNull(item.severity) ?? stringOrNull(item.level); + return itemId === findingId; + }); + if (sameIdDetails.length === 0) return null; + return sameIdDetails.find((item) => { + const itemSeverity = normalizeCheckLevel(stringOrNull(item.severity) ?? stringOrNull(item.level)); return severity === null || itemSeverity === null || itemSeverity === severity; - }) ?? null; + }) ?? sameIdDetails[0] ?? null; } function compactStoredFinding(value: unknown): Record {