Skip to content

Commit 5924bdd

Browse files
committed
fix: update types and field accessors for pvtr-sdk v1.24.0 output format
Signed-off-by: Joana Maia <jmaia@contractor.linuxfoundation.org>
1 parent b872fa3 commit 5924bdd

2 files changed

Lines changed: 29 additions & 31 deletions

File tree

services/apps/security_best_practices_worker/src/activities/index.ts

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -97,61 +97,59 @@ export async function saveOSPSBaselineInsightsToDB(
9797
const redisCache = new RedisCache(`osps-baseline-insights`, svc.redis, svc.log)
9898
const result = await redisCache.get(key)
9999
const parsedResult: ISecurityInsightsPrivateerResult = JSON.parse(result)
100-
const evaluationSuite = parsedResult.evaluation_suites.find((s) => s.catalog_id === CATALOG_ID)
100+
const evaluationSuite = parsedResult['evaluation-suites'].find(
101+
(s) => s['catalog-id'] === CATALOG_ID,
102+
)
101103

102104
const qx = pgpQx(svc.postgres.writer.connection())
103105

104106
await addEvaluationSuite(qx, {
105107
repo: repo.repoUrl,
106108
insightsProjectId: repo.insightsProjectId,
107109
insightsProjectSlug: repo.insightsProjectSlug,
108-
catalogId: evaluationSuite.catalog_id,
110+
catalogId: evaluationSuite['catalog-id'],
109111
name: evaluationSuite.name,
110112
result: evaluationSuite.result,
111-
corruptedState: evaluationSuite.corrupted_state,
113+
corruptedState: evaluationSuite['corrupted-state'],
112114
})
113115

114-
const suite = await findEvaluationSuite(qx, repo.repoUrl, evaluationSuite.catalog_id)
116+
const suite = await findEvaluationSuite(qx, repo.repoUrl, evaluationSuite['catalog-id'])
115117

116-
for (const evaluation of evaluationSuite.control_evaluations) {
118+
for (const evaluation of evaluationSuite['control-evaluations'].evaluations) {
119+
const controlId = evaluation.control['entry-id']
117120
await addSuiteControlEvaluation(qx, {
118-
controlId: evaluation['control-id'],
121+
controlId,
119122
name: evaluation.name,
120-
corruptedState: evaluation['corrupted-state'],
123+
corruptedState: false,
121124
message: evaluation.message,
122125
repo: repo.repoUrl,
123126
insightsProjectId: repo.insightsProjectId,
124127
insightsProjectSlug: repo.insightsProjectSlug,
125-
remediationGuide: evaluation['remediation-guide'] || '',
128+
remediationGuide: '',
126129
result: evaluation.result,
127130
securityInsightsEvaluationSuiteId: suite.id,
128131
})
129132

130-
const controlEvaluation = await findSuiteControlEvaluation(
131-
qx,
132-
repo.repoUrl,
133-
evaluation['control-id'],
134-
suite.id,
135-
)
136-
for (const assessment of evaluation.assessments) {
133+
const controlEvaluation = await findSuiteControlEvaluation(qx, repo.repoUrl, controlId, suite.id)
134+
for (const assessment of evaluation['assessment-logs']) {
137135
await addControlEvaluationAssessment(qx, {
138136
applicability: assessment.applicability,
139137
description: assessment.description,
140138
message: assessment.message,
141139
repo: repo.repoUrl,
142140
insightsProjectId: repo.insightsProjectId,
143141
insightsProjectSlug: repo.insightsProjectSlug,
144-
requirementId: assessment['requirement-id'],
142+
requirementId: assessment.requirement['entry-id'],
145143
result: assessment.result,
146-
runDuration: assessment['run-duration'] || '',
144+
runDuration: '',
147145
steps: assessment.steps,
148146
stepsExecuted: assessment['steps-executed'] || 0,
149147
securityInsightsEvaluationId: controlEvaluation.id,
150148
recommendation: assessment.recommendation,
151149
start: assessment.start,
152150
end: assessment.end,
153-
value: assessment.value,
154-
changes: assessment.changes,
151+
value: null,
152+
changes: null,
155153
})
156154
}
157155
}

services/apps/security_best_practices_worker/src/types.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
export interface ISecurityInsightsPrivateerResult {
2-
evaluation_suites: ISecurityInsightsPrivateerEvaluationSuite[]
2+
'evaluation-suites': ISecurityInsightsPrivateerEvaluationSuite[]
33
}
44

55
export interface ISecurityInsightsPrivateerEvaluationSuite {
66
name: string
7-
catalog_id: string
8-
start_time: string
9-
end_time: string
7+
'catalog-id': string
8+
'start-time': string
9+
'end-time': string
1010
result: string
11-
corrupted_state: boolean
12-
control_evaluations: ISecurityInsightsPrivateerResultControlEvaluations[]
11+
'corrupted-state': boolean
12+
'control-evaluations': {
13+
result: string
14+
evaluations: ISecurityInsightsPrivateerResultControlEvaluations[]
15+
}
1316
}
1417

1518
export interface ISecurityInsightsPrivateerResultControlEvaluations {
1619
name: string
17-
'control-id': string
20+
control: { 'reference-id': string; 'entry-id': string }
1821
result: string
1922
message: string
20-
'corrupted-state': boolean
21-
assessments: ISecurityInsightsPrivateerResultAssessment[]
23+
'assessment-logs': ISecurityInsightsPrivateerResultAssessment[]
2224
}
2325

2426
export interface ISecurityInsightsPrivateerResultAssessment {
25-
'requirement-id': string
27+
requirement: { 'reference-id': string; 'entry-id': string }
2628
applicability: string[]
2729
description: string
2830
result: string
@@ -31,8 +33,6 @@ export interface ISecurityInsightsPrivateerResultAssessment {
3133
'steps-executed': number
3234
start: string
3335
end?: string
34-
value?: unknown
35-
changes?: Record<string, unknown>
3636
recommendation?: string
3737
}
3838

0 commit comments

Comments
 (0)