Skip to content

Commit 3fff173

Browse files
authored
fix: security best practices rename tables to conform to Kafka topic limits (#3037)
1 parent 25a620e commit 3fff173

8 files changed

Lines changed: 31 additions & 21 deletions

File tree

backend/src/database/migrations/U1746542390__securityInsightsTableRename.sql

Whitespace-only changes.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
ALTER PUBLICATION sequin_pub DROP TABLE "securityInsightsEvaluationSuiteControlEvaluations";
2+
ALTER PUBLICATION sequin_pub DROP TABLE "securityInsightsEvaluationSuiteControlEvaluationAssessments";
3+
4+
ALTER TABLE "securityInsightsEvaluationSuiteControlEvaluations" RENAME TO "securityInsightsEvaluations";
5+
ALTER TABLE "securityInsightsEvaluationSuiteControlEvaluationAssessments" RENAME TO "securityInsightsEvaluationAssessments";
6+
ALTER TABLE "securityInsightsEvaluationAssessments" RENAME COLUMN "securityInsightsEvaluationSuiteControlEvaluationId" TO "securityInsightsEvaluationId";
7+
8+
ALTER PUBLICATION sequin_pub ADD TABLE "securityInsightsEvaluations";
9+
ALTER PUBLICATION sequin_pub ADD TABLE "securityInsightsEvaluationAssessments";
10+
ALTER TABLE public."securityInsightsEvaluations" REPLICA IDENTITY FULL;
11+
ALTER TABLE public."securityInsightsEvaluationAssessments" REPLICA IDENTITY FULL;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export async function saveOSPSBaselineInsightsToDB(
119119
runDuration: assessment.run_duration,
120120
steps: assessment.steps,
121121
stepsExecuted: assessment.steps_executed,
122-
securityInsightsEvaluationSuiteControlEvaluationId: controlEvaluation.id,
122+
securityInsightsEvaluationId: controlEvaluation.id,
123123
})
124124
}
125125
}

services/libs/data-access-layer/src/security_insights/index.ts

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { generateUUIDv4 } from '@crowd/common'
22
import {
3+
ISecurityInsightsEvaluationAssessment,
34
ISecurityInsightsEvaluationSuite,
4-
ISecurityInsightsEvaluationSuiteControlEvaluation,
5-
ISecurityInsightsEvaluationSuiteControlEvaluationAssessment,
5+
ISecurityInsightsEvaluations,
66
ISecurityInsightsObsoleteRepo,
77
} from '@crowd/types'
88

@@ -102,11 +102,11 @@ export async function findSuiteControlEvaluation(
102102
qx: QueryExecutor,
103103
repo: string,
104104
controlId: string,
105-
): Promise<ISecurityInsightsEvaluationSuiteControlEvaluation | null> {
105+
): Promise<ISecurityInsightsEvaluations | null> {
106106
return await qx.selectOneOrNone(
107107
`
108108
select *
109-
from "securityInsightsEvaluationSuiteControlEvaluations"
109+
from "securityInsightsEvaluations"
110110
where "repo" = $(repo) and "controlId" = $(controlId)
111111
`,
112112
{
@@ -118,11 +118,11 @@ export async function findSuiteControlEvaluation(
118118

119119
export async function addSuiteControlEvaluation(
120120
qx: QueryExecutor,
121-
evaluation: ISecurityInsightsEvaluationSuiteControlEvaluation,
121+
evaluation: ISecurityInsightsEvaluations,
122122
): Promise<void> {
123123
await qx.result(
124124
`
125-
insert into "securityInsightsEvaluationSuiteControlEvaluations"
125+
insert into "securityInsightsEvaluations"
126126
(
127127
"id",
128128
"securityInsightsEvaluationSuiteId",
@@ -183,14 +183,14 @@ export async function addSuiteControlEvaluation(
183183

184184
export async function addControlEvaluationAssessment(
185185
qx: QueryExecutor,
186-
assessment: ISecurityInsightsEvaluationSuiteControlEvaluationAssessment,
186+
assessment: ISecurityInsightsEvaluationAssessment,
187187
): Promise<void> {
188188
await qx.result(
189189
`
190-
insert into "securityInsightsEvaluationSuiteControlEvaluationAssessments"
190+
insert into "securityInsightsEvaluationAssessments"
191191
(
192192
"id",
193-
"securityInsightsEvaluationSuiteControlEvaluationId",
193+
"securityInsightsEvaluationId",
194194
"repo",
195195
"insightsProjectId",
196196
"insightsProjectSlug",
@@ -208,7 +208,7 @@ export async function addControlEvaluationAssessment(
208208
values
209209
(
210210
$(id),
211-
$(securityInsightsEvaluationSuiteControlEvaluationId),
211+
$(securityInsightsEvaluationId),
212212
$(repo),
213213
$(insightsProjectId),
214214
$(insightsProjectSlug),
@@ -223,7 +223,7 @@ export async function addControlEvaluationAssessment(
223223
now(),
224224
now()
225225
)
226-
on conflict ("securityInsightsEvaluationSuiteControlEvaluationId", "repo", "requirementId")
226+
on conflict ("securityInsightsEvaluationId", "repo", "requirementId")
227227
do update
228228
set "updatedAt" = EXCLUDED."updatedAt",
229229
"applicability" = EXCLUDED."applicability",
@@ -237,8 +237,7 @@ export async function addControlEvaluationAssessment(
237237
`,
238238
{
239239
id: generateUUIDv4(),
240-
securityInsightsEvaluationSuiteControlEvaluationId:
241-
assessment.securityInsightsEvaluationSuiteControlEvaluationId,
240+
securityInsightsEvaluationId: assessment.securityInsightsEvaluationId,
242241
repo: assessment.repo,
243242
insightsProjectId: assessment.insightsProjectId,
244243
insightsProjectSlug: assessment.insightsProjectSlug,

services/libs/tinybird/datasources/securityInsightsEvaluationSuiteControlEvaluationAssessments.datasource renamed to services/libs/tinybird/datasources/securityInsightsEvaluationAssessments.datasource

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ TAGS "Security insights widget"
22

33
SCHEMA >
44
`id` String `json:$.record.id`,
5-
`securityInsightsEvaluationSuiteControlEvaluationId` String `json:$.record.securityInsightsEvaluationSuiteControlEvaluationId` DEFAULT '',
5+
`securityInsightsEvaluationId` String `json:$.record.securityInsightsEvaluationId` DEFAULT '',
66
`insightsProjectId` String `json:$.record.insightsProjectId` DEFAULT '',
77
`insightsProjectSlug` String `json:$.record.insightsProjectSlug` DEFAULT '',
88
`repo` String `json:$.record.repo` DEFAULT '',

services/libs/tinybird/datasources/securityInsightsEvaluationSuiteControlEvaluations.datasource renamed to services/libs/tinybird/datasources/securityInsightsEvaluations.datasource

File renamed without changes.

services/libs/tinybird/pipes/security_and_best_practices.pipe

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ SQL >
8282
)
8383
)
8484
) AS assessments
85-
FROM securityInsightsEvaluationSuiteControlEvaluations eval
85+
FROM securityInsightsEvaluations eval final
8686
left join evaluation_controlId_category_map ecm on ecm.controlId = eval.controlId
8787
left join
88-
securityInsightsEvaluationSuiteControlEvaluationAssessments assessment
89-
on eval.id = assessment.securityInsightsEvaluationSuiteControlEvaluationId
88+
securityInsightsEvaluationAssessments assessment final
89+
on eval.id = assessment.securityInsightsEvaluationId
9090
where
9191
eval.result <> 'Not Run'
9292
and eval.repo in (select arrayJoin(repositories) from segments_filtered)

services/libs/types/src/securityInsights.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export interface ISecurityInsightsEvaluationSuite {
99
corruptedState: boolean
1010
}
1111

12-
export interface ISecurityInsightsEvaluationSuiteControlEvaluation {
12+
export interface ISecurityInsightsEvaluations {
1313
id?: string
1414
securityInsightsEvaluationSuiteId?: string
1515
name: string
@@ -23,9 +23,9 @@ export interface ISecurityInsightsEvaluationSuiteControlEvaluation {
2323
remediationGuide: string
2424
}
2525

26-
export interface ISecurityInsightsEvaluationSuiteControlEvaluationAssessment {
26+
export interface ISecurityInsightsEvaluationAssessment {
2727
id?: string
28-
securityInsightsEvaluationSuiteControlEvaluationId?: string
28+
securityInsightsEvaluationId?: string
2929
repo: string
3030
insightsProjectId: string
3131
insightsProjectSlug: string

0 commit comments

Comments
 (0)