Skip to content

Commit 31a2a66

Browse files
authored
Merge pull request #3 from topcoder-platform/develop
[v6 PROD RELEASE] - dev -> master
2 parents a23be38 + 0cd6ee3 commit 31a2a66

File tree

5 files changed

+65
-1
lines changed

5 files changed

+65
-1
lines changed

.circleci/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ workflows:
6868
branches:
6969
only:
7070
- develop
71+
- pm-2539
7172

7273
# Production builds are exectuted only on tagged commits to the
7374
# master branch.

.github/workflows/trivy.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Trivy Scanner
2+
3+
permissions:
4+
contents: read
5+
security-events: write
6+
on:
7+
push:
8+
branches:
9+
- main
10+
- dev
11+
pull_request:
12+
jobs:
13+
trivy-scan:
14+
name: Use Trivy
15+
runs-on: ubuntu-24.04
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
- name: Run Trivy scanner in repo mode
21+
uses: aquasecurity/trivy-action@0.33.1
22+
with:
23+
scan-type: "fs"
24+
ignore-unfixed: true
25+
format: "sarif"
26+
output: "trivy-results.sarif"
27+
severity: "CRITICAL,HIGH,UNKNOWN"
28+
scanners: vuln,secret,misconfig,license
29+
github-pat: ${{ secrets.GITHUB_TOKEN }}
30+
31+
- name: Upload Trivy scan results to GitHub Security tab
32+
uses: github/codeql-action/upload-sarif@v3
33+
with:
34+
sarif_file: "trivy-results.sarif"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
-- CreateIndex
2+
CREATE INDEX "Group_status_organizationId_idx" ON "Group"("status", "organizationId");
3+
4+
-- CreateIndex
5+
CREATE INDEX "Group_domain_idx" ON "Group"("domain");
6+
7+
-- CreateIndex
8+
CREATE INDEX "Group_ssoId_idx" ON "Group"("ssoId");
9+
10+
-- CreateIndex
11+
CREATE INDEX "Group_privateGroup_status_idx" ON "Group"("privateGroup", "status");
12+
13+
-- CreateIndex
14+
CREATE INDEX "GroupMember_memberId_membershipType_idx" ON "GroupMember"("memberId", "membershipType");
15+
16+
-- CreateIndex
17+
CREATE INDEX "User_universalUID_idx" ON "User"("universalUID");

prisma/schema.prisma

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ model Group {
4545
@@index([name]) // Index for filtering by name
4646
@@index([status]) // Index for filtering by status
4747
@@index([oldId]) // Index for filtering by oldId
48+
@@index([status, organizationId])
49+
@@index([domain])
50+
@@index([ssoId])
51+
@@index([privateGroup, status])
4852
}
4953

5054
model GroupMembership {
@@ -63,7 +67,8 @@ model GroupMembership {
6367
@@unique([groupId, memberId])
6468
@@index([groupId]) // Index for joining with group table
6569
@@index([memberId]) // Index for filtering by memberId
66-
@@map("GroupMember")
70+
@@index([memberId, membershipType])
71+
@@map("GroupMember")
6772
}
6873

6974
// This user table is only used in this group challenge
@@ -74,4 +79,6 @@ model User {
7479
createdBy String
7580
updatedAt DateTime @updatedAt
7681
updatedBy String?
82+
83+
@@index([universalUID])
7784
}

src/shared/modules/global/prisma.service.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ export class PrismaService
1212

1313
constructor(private readonly prismaErrorService?: PrismaErrorService) {
1414
super({
15+
transactionOptions: {
16+
timeout: process.env.GROUPS_SERVICE_PRISMA_TIMEOUT
17+
? parseInt(process.env.GROUPS_SERVICE_PRISMA_TIMEOUT, 10)
18+
: 10000,
19+
},
1520
log: [
1621
{ level: 'query', emit: 'event' },
1722
{ level: 'info', emit: 'event' },

0 commit comments

Comments
 (0)