Merge pull request #1334 from pikasTech/fix/1332-finding-detail-rootcause
fix: 保留哨兵监测项根因详情
This commit is contained in:
@@ -1165,12 +1165,15 @@ function storedFindingDetailForRow(db: Database, row: Record<string, unknown>, r
|
|||||||
if (details.length === 0) return null;
|
if (details.length === 0) return null;
|
||||||
const findingId = stringOrNull(row.finding_id) ?? stringOrNull(row.findingId) ?? stringOrNull(row.code);
|
const findingId = stringOrNull(row.finding_id) ?? stringOrNull(row.findingId) ?? stringOrNull(row.code);
|
||||||
const severity = stringOrNull(row.severity);
|
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);
|
const itemId = stringOrNull(item.finding_id) ?? stringOrNull(item.findingId) ?? stringOrNull(item.id) ?? stringOrNull(item.code);
|
||||||
if (itemId !== findingId) return false;
|
return itemId === findingId;
|
||||||
const itemSeverity = stringOrNull(item.severity) ?? stringOrNull(item.level);
|
});
|
||||||
|
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;
|
return severity === null || itemSeverity === null || itemSeverity === severity;
|
||||||
}) ?? null;
|
}) ?? sameIdDetails[0] ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function compactStoredFinding(value: unknown): Record<string, unknown> {
|
function compactStoredFinding(value: unknown): Record<string, unknown> {
|
||||||
|
|||||||
Reference in New Issue
Block a user