Skip to content

Commit f787af8

Browse files
authored
Merge pull request #4 from topcoder-platform/develop
[v6 PROD RELEASE] - dev -> master
2 parents 94a2417 + 1c47488 commit f787af8

File tree

8 files changed

+67
-5
lines changed

8 files changed

+67
-5
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ workflows:
119119
only:
120120
- develop
121121
- hotfix/deploy
122-
- pm-2456
122+
- pm-2539
123123

124124
# Production builds are exectuted only on tagged commits to the testing
125125
# 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"

config/default.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,6 @@ module.exports = {
5959
},
6060

6161
AUTOMATED_TESTING_NAME_PREFIX: process.env.AUTOMATED_TESTING_NAME_PREFIX || 'POSTMANE2E-',
62-
TOPCROWD_CHALLENGE_TEMPLATE_ID: process.env.TOPCROWD_CHALLENGE_TEMPLATE_ID || '517e76b0-8824-4e72-9b48-a1ebde1793a8'
62+
TOPCROWD_CHALLENGE_TEMPLATE_ID: process.env.TOPCROWD_CHALLENGE_TEMPLATE_ID || '517e76b0-8824-4e72-9b48-a1ebde1793a8',
63+
RESOURCE_SERVICE_PRISMA_TIMEOUT: process.env.RESOURCE_SERVICE_PRISMA_TIMEOUT ? parseInt(process.env.RESOURCE_SERVICE_PRISMA_TIMEOUT, 10) : 10000
6364
}

config/test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ module.exports = {
2121
COPILOT_CREDENTIALS_PASSWORD: process.env.COPILOT_CREDENTIALS_PASSWORD || '',
2222
USER_CREDENTIALS_USERNAME: process.env.USER_CREDENTIALS_USERNAME || '',
2323
USER_CREDENTIALS_PASSWORD: process.env.USER_CREDENTIALS_PASSWORD || '',
24-
AUTOMATED_TESTING_REPORTERS_FORMAT: process.env.AUTOMATED_TESTING_REPORTERS_FORMAT || ['cli', 'html']
24+
AUTOMATED_TESTING_REPORTERS_FORMAT: process.env.AUTOMATED_TESTING_REPORTERS_FORMAT || ['cli', 'html'],
25+
RESOURCE_SERVICE_PRISMA_TIMEOUT: process.env.RESOURCE_SERVICE_PRISMA_TIMEOUT ? parseInt(process.env.RESOURCE_SERVICE_PRISMA_TIMEOUT, 10) : 10000
2526
}

env.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,5 @@ export DATABASE_URL="postgresql://johndoe:mypassword@localhost:5532/resourceapi?
3131
export MEMBER_DB_URL="postgresql://johndoe:mypassword@localhost:5632/memberdb"
3232

3333
export CHALLENGE_DB_URL="postgresql://johndoe:mypassword@localhost:5732/challengedb"
34+
35+
export RESOURCE_SERVICE_PRISMA_TIMEOUT=10000
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
const { PrismaClient } = require('@prisma/client');
2+
const config = require('config')
23

3-
const prisma = new PrismaClient();
4+
const prisma = new PrismaClient({
5+
transactionOptions: {
6+
timeout: config.MEMBER_SERVICE_PRISMA_TIMEOUT,
7+
},
8+
});
49

510
module.exports = prisma;
611

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-- CreateIndex
2+
CREATE INDEX "resource-roleId-index" ON "resources"."Resource"("roleId");
3+
4+
-- CreateIndex
5+
CREATE INDEX "resource-memberIdChallengeId-index" ON "resources"."Resource"("memberId", "challengeId");
6+
7+
-- CreateIndex
8+
CREATE INDEX "resourcerole-isActive-index" ON "resources"."ResourceRole"("isActive");
9+
10+
-- CreateIndex
11+
CREATE INDEX "resourcerole-isActiveSelfObtainable-index" ON "resources"."ResourceRole"("isActive", "selfObtainable");
12+
13+
-- CreateIndex
14+
CREATE INDEX "resourcerolephasedependency-resourceRoleId-index" ON "resources"."ResourceRolePhaseDependency"("resourceRoleId");

prisma/schema.prisma

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ model ResourceRole {
2424
resources Resource[]
2525
resourceRolePhaseDependencies ResourceRolePhaseDependency[]
2626
27-
// Index for faster search
27+
// Indexes for faster search
2828
@@index([nameLower], map: "resourcerole-nameLower-index")
29+
@@index([isActive], map: "resourcerole-isActive-index")
30+
@@index([isActive, selfObtainable], map: "resourcerole-isActiveSelfObtainable-index")
2931
}
3032

3133
model Resource {
@@ -46,6 +48,8 @@ model Resource {
4648
// Indexes for faster searches
4749
@@index([challengeId, memberId], map: "resource-challengeIdMemberId-index")
4850
@@index([memberId, roleId], map: "resource-memberIdRoleId-index")
51+
@@index([roleId], map: "resource-roleId-index")
52+
@@index([memberId, challengeId], map: "resource-memberIdChallengeId-index")
4953
}
5054

5155
model ResourceRolePhaseDependency {
@@ -60,4 +64,5 @@ model ResourceRolePhaseDependency {
6064
resourceRole ResourceRole @relation(fields: [resourceRoleId], references: [id])
6165
6266
@@unique([phaseId, resourceRoleId], map: "resourcerolephase-phaseId-resourceRoleId-unique")
67+
@@index([resourceRoleId], map: "resourcerolephasedependency-resourceRoleId-index")
6368
}

0 commit comments

Comments
 (0)