Merge pull request #1334 from pikasTech/fix/1332-finding-detail-rootcause

fix: 保留哨兵监测项根因详情
This commit is contained in:
Lyon
2026-07-01 04:44:25 +08:00
committed by GitHub
@@ -1165,12 +1165,15 @@ function storedFindingDetailForRow(db: Database, row: Record<string, unknown>, 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<string, unknown> {