Fix SOA risk

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-06-30 12:15:49 +02:00
parent 1aaf9ec766
commit ead7d15f38

View File

@@ -658,7 +658,7 @@ func (s FrameworkService) buildSOARowData(ctx context.Context, conn pg.Conn, con
return soaRowData{}, fmt.Errorf("cannot load policies: %w", err) return soaRowData{}, fmt.Errorf("cannot load policies: %w", err)
} }
hasEvidence := false hasRisks := false
for _, measure := range measures { for _, measure := range measures {
if measure == nil { if measure == nil {
continue continue
@@ -679,10 +679,22 @@ func (s FrameworkService) buildSOARowData(ctx context.Context, conn pg.Conn, con
continue continue
} }
if len(evidences) > 0 { risks := coredata.Risks{}
hasEvidence = true risksCursor := page.NewCursor(
break maxItemsLimit,
nil,
page.Head,
page.OrderBy[coredata.RiskOrderField]{
Field: coredata.RiskOrderFieldCreatedAt,
Direction: page.OrderDirectionAsc,
},
)
if err := risks.LoadByMeasureID(ctx, conn, s.svc.scope, measure.ID, risksCursor, coredata.NewRiskFilter(nil)); err != nil {
continue
} }
hasRisks = len(risks) > 0
} }
rowData := soaRowData{ rowData := soaRowData{
@@ -695,7 +707,7 @@ func (s FrameworkService) buildSOARowData(ctx context.Context, conn pg.Conn, con
rowData.regulatory = "YES" rowData.regulatory = "YES"
rowData.bestPractice = "YES" rowData.bestPractice = "YES"
if hasEvidence { if hasRisks {
rowData.riskAssessment = "YES" rowData.riskAssessment = "YES"
} }