Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
172 commits
Select commit Hold shift + click to select a range
84cd00f
feat: implemented download profile API
hentrymartin Jan 8, 2026
fefb8cc
feat: implemented download profile API
hentrymartin Jan 8, 2026
25280c0
feat: implemented download profile API
hentrymartin Jan 8, 2026
24e4696
feat: implemented download profile API
hentrymartin Jan 8, 2026
02d8cc2
Update package.json
Gunasekar-K Jan 9, 2026
0b2faee
Update package.json
Gunasekar-K Jan 9, 2026
d8a4c96
updated from develop
hentrymartin Jan 9, 2026
60f0d0d
fix: update aws to v3
hentrymartin Jan 9, 2026
dd9d42b
fix: update aws to v3
hentrymartin Jan 9, 2026
f6d5d40
fix: make /health check endpoint public
hentrymartin Jan 12, 2026
a47683b
reverted aws sdk updates
hentrymartin Jan 12, 2026
80dc1ee
reverted aws sdk updates
hentrymartin Jan 12, 2026
c8d7457
Merge pull request #20 from topcoder-platform/pm-3317_1
hentrymartin Jan 12, 2026
e368280
fix: included talent manager to check for profile downloadable role
hentrymartin Jan 12, 2026
bd2ba51
fix: included talent manager to check for profile downloadable role
hentrymartin Jan 12, 2026
de3cc2e
Merge pull request #21 from topcoder-platform/pm-3317_2
hentrymartin Jan 12, 2026
e63970c
PM-3397 Add member email in response for PM and TM
himaniraghav3 Jan 13, 2026
ebc23f9
feat: adding description and skills to member work trait
hentrymartin Jan 13, 2026
46f64fd
Profile completeness calculation fix
jmgasper Jan 13, 2026
a7e8895
fix: deploy to dev before merging
hentrymartin Jan 14, 2026
22e1fd4
feat: run prisma migrations during deployment
hentrymartin Jan 14, 2026
130393a
feat: run prisma migrations during deployment
hentrymartin Jan 14, 2026
bf55ac7
feat: run prisma migrations during deployment
hentrymartin Jan 14, 2026
e611c11
Merge pull request #23 from topcoder-platform/pm-3398
hentrymartin Jan 14, 2026
3a12392
Merge pull request #22 from topcoder-platform/PM-3397
kkartunov Jan 15, 2026
86f816c
feat: add phone number to member profile
hentrymartin Jan 15, 2026
3676383
feat: add phone number to member profile
hentrymartin Jan 15, 2026
8361dc6
Delete members from hubspot when account deleted
jmgasper Jan 16, 2026
1dc1a5b
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
jmgasper Jan 16, 2026
04ab6a4
fix: phone regexp
hentrymartin Jan 16, 2026
5d01bb3
PM-3421 - enhance profile completeness functionality
vas3a Jan 19, 2026
9b93274
fix swagger
vas3a Jan 19, 2026
02a5a5f
Merge pull request #30 from topcoder-platform/PM-3421_update-profile-…
vas3a Jan 19, 2026
9b8e3e0
Fix last updated at date for skills
vas3a Jan 19, 2026
92e4b70
Lint fixes
vas3a Jan 19, 2026
2c08eb2
Merge pull request #31 from topcoder-platform/PM-3421_update-profile-…
vas3a Jan 19, 2026
e8af234
updated from develop
hentrymartin Jan 19, 2026
1a6db27
fix: review comments
hentrymartin Jan 19, 2026
74496d7
fix: added index for userId and number
hentrymartin Jan 19, 2026
8721442
fix: added unique constraint for userId and number
hentrymartin Jan 20, 2026
257f198
Merge pull request #24 from topcoder-platform/pm-3404
hentrymartin Jan 20, 2026
d7be502
fix: field permission issue
hentrymartin Jan 20, 2026
caf37ad
deploy dev
hentrymartin Jan 20, 2026
acd8dbe
Merge pull request #32 from topcoder-platform/pm-3404_1
hentrymartin Jan 21, 2026
a781774
feat: expose verification data in members API
hentrymartin Jan 21, 2026
1cefa95
fix: use finance client from finance repo
hentrymartin Jan 22, 2026
246e163
fix: use finance client from finance repo
hentrymartin Jan 22, 2026
f2c5bb8
fix: use finance client from finance repo
hentrymartin Jan 22, 2026
636b844
debug: logs
hentrymartin Jan 22, 2026
c3ac412
debug: logs
hentrymartin Jan 22, 2026
bff1663
fix: env variables
hentrymartin Jan 22, 2026
c87d712
fix: env variables
hentrymartin Jan 22, 2026
2dacd89
switch to using the external skills-prisma-client
kkartunov Jan 23, 2026
b79040d
Merge pull request #34 from topcoder-platform/skills-prisma
kkartunov Jan 23, 2026
7e04f1b
use https no ssh for external prisma client
kkartunov Jan 23, 2026
482e72c
Merge pull request #35 from topcoder-platform/skills-prisma
kkartunov Jan 23, 2026
cb2f5c3
try use git+https
kkartunov Jan 23, 2026
30a4114
Merge pull request #36 from topcoder-platform/skills-prisma
kkartunov Jan 23, 2026
07e59f6
Fix external prisma client loading
kkartunov Jan 23, 2026
66f5805
Merge pull request #37 from topcoder-platform/skills-prisma
kkartunov Jan 23, 2026
bdfec0a
finalize skills client setup
kkartunov Jan 23, 2026
49b78ff
Merge pull request #38 from topcoder-platform/skills-prisma
kkartunov Jan 23, 2026
b4a017e
fix skills connection to use proper env var
kkartunov Jan 23, 2026
d6cf335
Merge pull request #39 from topcoder-platform/skills-prisma
kkartunov Jan 23, 2026
1c698e1
fix: remove fallback urls
hentrymartin Jan 23, 2026
b1c9fdd
Merge branch 'develop' into pm-3454
hentrymartin Jan 23, 2026
7d74afd
fix: updated finance api setup
hentrymartin Jan 23, 2026
94e6e73
fix: use external client from tc
hentrymartin Jan 23, 2026
beca834
fix: use external client from tc
hentrymartin Jan 23, 2026
8d8845e
fix: updated to dev branch
hentrymartin Jan 23, 2026
07132d3
Merge pull request #33 from topcoder-platform/pm-3454
hentrymartin Jan 23, 2026
fd295ff
PM-3458 Add recent activity to member api response
himaniraghav3 Jan 23, 2026
9788621
Merge branch 'develop' into PM-3458
himaniraghav3 Jan 23, 2026
f92b8ea
fix typo
himaniraghav3 Jan 23, 2026
5b1f58c
deploy PM-3458
himaniraghav3 Jan 23, 2026
aa37c94
feat: added other work industry type
hentrymartin Jan 23, 2026
7353ac9
PM-3329 - expose new endpoint: members/{handle}/skill/{skillId} which…
vas3a Jan 26, 2026
9ae9d67
PM-3329 - Update documentation and route
vas3a Jan 26, 2026
2ab0f0e
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
vas3a Jan 26, 2026
73c6d3a
Merge pull request #40 from topcoder-platform/pm-3563
hentrymartin Jan 26, 2026
68fe5f8
feat: download pdf design
hentrymartin Jan 26, 2026
758704d
feat: download pdf design
hentrymartin Jan 26, 2026
0359b02
feat: download pdf design
hentrymartin Jan 26, 2026
c7006fa
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
jmgasper Jan 27, 2026
6bfd6e3
Merge pull request #43 from topcoder-platform/PS-511
jmgasper Jan 27, 2026
eb21504
Typo fix & remove public access to skill details endpoint
vas3a Jan 27, 2026
deedc4e
update prisma clients for challenges & skills
vas3a Jan 27, 2026
3c0256d
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
vas3a Jan 27, 2026
30fb37f
Merge branch 'develop' into PM-3458
himaniraghav3 Jan 27, 2026
222c95c
Make sure skillId is uuid
vas3a Jan 27, 2026
f68d22e
Update branch with node 22
himaniraghav3 Jan 27, 2026
f4cc6f1
PM-3458 Add env var
himaniraghav3 Jan 27, 2026
0891ab0
Allow admins to see recent activity
himaniraghav3 Jan 27, 2026
ba17add
update logic to retrieve member activity
himaniraghav3 Jan 27, 2026
188bbea
convert member id to string
himaniraghav3 Jan 27, 2026
78b6446
Fix error
himaniraghav3 Jan 27, 2026
0d1f382
Fix conversion to string
himaniraghav3 Jan 27, 2026
e77bd28
updated from develop
hentrymartin Jan 27, 2026
69ec930
Update prisma query
himaniraghav3 Jan 27, 2026
82aadfe
Update prisma query
himaniraghav3 Jan 27, 2026
3529ef6
Update resource api import
himaniraghav3 Jan 27, 2026
cc73618
Merge pull request #44 from topcoder-platform/PM-3458
himaniraghav3 Jan 27, 2026
872922f
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
vas3a Jan 27, 2026
12a787f
Merge pull request #41 from topcoder-platform/PM-3329_member-data
vas3a Jan 27, 2026
fc61051
use pnpm instead of yarn
vas3a Jan 27, 2026
526efa3
use npx
vas3a Jan 27, 2026
331c2b2
feat: profile download pdf updates
hentrymartin Jan 27, 2026
f73427a
add missing pakcage
vas3a Jan 27, 2026
7097935
fix: minor bugs
hentrymartin Jan 27, 2026
d346920
fix: minor bugs
hentrymartin Jan 27, 2026
be623c8
User handle change implementation, including MySQL connection to Vanilla
jmgasper Jan 28, 2026
70345ab
Merge pull request #45 from topcoder-platform/use-pnpm
vas3a Jan 28, 2026
6735cff
Filter out skill events specific to user
vas3a Jan 28, 2026
e7f8cf3
update from develop
hentrymartin Jan 28, 2026
e904fa9
update from develop
hentrymartin Jan 28, 2026
3da6db9
Return engagements activity for skills
vas3a Jan 28, 2026
e6a9f09
debug logs
hentrymartin Jan 28, 2026
6271d3d
debug logs
hentrymartin Jan 28, 2026
f826336
fix: special roles
hentrymartin Jan 28, 2026
fa5e6dd
fix: special roles
hentrymartin Jan 28, 2026
9e5c3c4
fix: support rich text in badge name
hentrymartin Jan 28, 2026
35b7619
fix: support rich text in badge name
hentrymartin Jan 28, 2026
79aeb6e
fix: support rich text in badge name
hentrymartin Jan 28, 2026
21ded30
fix: support rich text in badge name
hentrymartin Jan 28, 2026
f70581e
fix: support rich text in badge name
hentrymartin Jan 28, 2026
3d05384
fix: support rich text in badge name
hentrymartin Jan 28, 2026
aecb4bd
fix: support rich text in badge name
hentrymartin Jan 28, 2026
c3c82d3
fix: support rich text in badge name
hentrymartin Jan 28, 2026
e644e2d
Restrict to admins only
jmgasper Jan 28, 2026
0f0c194
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
jmgasper Jan 28, 2026
0f3cfc1
Merge pull request #48 from topcoder-platform/PS-513
jmgasper Jan 28, 2026
ca5ee29
remove log
vas3a Jan 29, 2026
4437946
fetch engagements prisma client from develop branch
vas3a Jan 29, 2026
9485b46
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
vas3a Jan 29, 2026
a6e365f
Merge pull request #46 from topcoder-platform/PM-3329_qa-updates
vas3a Jan 29, 2026
5261556
updated identity service to point to develop
hentrymartin Jan 29, 2026
18df364
updated from develop
hentrymartin Jan 29, 2026
9952b92
Merge pull request #47 from topcoder-platform/pm-3318
hentrymartin Jan 29, 2026
968f109
fix: pdf template issues
hentrymartin Jan 30, 2026
ffdc4a7
fix: pdf template issues
hentrymartin Jan 30, 2026
b164027
fix: pdf template issues
hentrymartin Jan 30, 2026
e617ee4
fix: pdf template issues
hentrymartin Jan 30, 2026
ae20e66
fix: pdf template issues
hentrymartin Jan 30, 2026
d3aa037
fix: pdf template issues
hentrymartin Jan 30, 2026
e08eedf
fix: pdf template issues
hentrymartin Jan 30, 2026
9ca0e4c
fix: pdf template issues
hentrymartin Jan 30, 2026
1fb9fa7
Bulk search of handles / emails for bulk group creation in WM
jmgasper Feb 1, 2026
6f1a42d
Remove junk patch and document bulk-search in Swagger
jmgasper Feb 2, 2026
ca559b8
Some lint fixes as well as better validation of input data in bulk-se…
jmgasper Feb 2, 2026
1bb3a10
Merge pull request #51 from topcoder-platform/pm-3318_1
kkartunov Feb 2, 2026
d422813
PM-3532 Open to work api updates
himaniraghav3 Feb 2, 2026
54c5f25
Deploy PM-3532
himaniraghav3 Feb 2, 2026
c5a3b39
Fix code
himaniraghav3 Feb 2, 2026
f480ddb
PM-3532 fix
himaniraghav3 Feb 2, 2026
d297b19
Admins and current user see everything
himaniraghav3 Feb 2, 2026
1895d88
Add logging to debug
himaniraghav3 Feb 2, 2026
460ac0c
Add admin role to check
himaniraghav3 Feb 2, 2026
130978e
Add more logs
himaniraghav3 Feb 2, 2026
497b3a2
Test role check
himaniraghav3 Feb 2, 2026
4a9782a
Cleanup logging
himaniraghav3 Feb 2, 2026
b6535b1
Update prisma and PR feedback
himaniraghav3 Feb 2, 2026
73c2ab8
Merge pull request #52 from topcoder-platform/PM-3532
himaniraghav3 Feb 2, 2026
dde21a3
Some lint fixes, and better bulk-search performance, and deduping of …
jmgasper Feb 4, 2026
72508ab
Merge branch 'develop' of github.com:topcoder-platform/member-api-v6 …
jmgasper Feb 4, 2026
4197332
Lint fixes and some updates for the bulk-search service
jmgasper Feb 4, 2026
dc7c0af
switch to master branches
kkartunov Feb 4, 2026
50bff54
fix engagements prisma client
kkartunov Feb 4, 2026
74a8afc
switch to master for skills prisma client
kkartunov Feb 4, 2026
3b48a85
Return all rows for privilged user
himaniraghav3 Feb 4, 2026
b95e014
test get traits response
himaniraghav3 Feb 4, 2026
65c6fb7
Merge pull request #54 from topcoder-platform/PM-3532
himaniraghav3 Feb 4, 2026
f3b855c
Merge branch 'master' of github.com:topcoder-platform/member-api-v6 i…
jmgasper Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ workflows:
branches:
only:
- develop
- PM-3532
- pm-2539

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[💡 maintainability]
Branch names should follow a consistent naming convention for clarity and maintainability. Consider using a consistent case format, such as all lowercase or camelCase, for branch names.

- PS-511
- PS-513-Hotfix
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ jspm_packages
# Optional npm cache directory
.npm

# Prisma generated data
prisma/generated/


.DS_Store
.idea
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
21.6
22.22.0
12 changes: 9 additions & 3 deletions app-constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
* App constants
*/
const ADMIN_ROLES = ['administrator', 'admin']
const SEARCH_BY_EMAIL_ROLES = ADMIN_ROLES.concat('tgadmin')
const AUTOCOMPLETE_ROLES = ['copilot', 'administrator', 'admin', 'Connect Copilot', 'Connect Account Manager', 'Connect Admin', 'Account Executive']
const PROFILE_DOWNLOAD_ROLES = ['project manager', 'Talent Manager']
const SEARCH_BY_EMAIL_ROLES = ADMIN_ROLES.concat('tgadmin', 'copilot', 'Project Manager', 'Talent Manager')
const AUTOCOMPLETE_ROLES = ['copilot', 'administrator', 'admin', 'Connect Copilot', 'Connect Account Manager', 'Connect Admin', 'Account Executive', 'Talent Manager', 'Project Manager']

const EVENT_ORIGINATOR = 'topcoder-member-api'

Expand All @@ -30,13 +31,18 @@ const BOOLEAN_OPERATOR = {
AND: 'AND',
OR: 'OR'
}

const PHONE_REGEX = /^\+[1-9]\d{1,14}$/

module.exports = {
ADMIN_ROLES,
PROFILE_DOWNLOAD_ROLES,
SEARCH_BY_EMAIL_ROLES,
AUTOCOMPLETE_ROLES,
EVENT_ORIGINATOR,
EVENT_MIME_TYPE,
TOPICS,
MAMBO_GET_REWARDS_ALLOWED_FIELDS,
BOOLEAN_OPERATOR
BOOLEAN_OPERATOR,
PHONE_REGEX
}
10 changes: 10 additions & 0 deletions config/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ module.exports = {
AUTH_SECRET: process.env.AUTH_SECRET || 'mysecret',
VALID_ISSUERS: process.env.VALID_ISSUERS || '["https://api.topcoder-dev.com", "https://api.topcoder.com", "https://topcoder-dev.auth0.com/", "https://auth.topcoder-dev.com/"]',
IDENTITY_DB_URL: process.env.IDENTITY_DB_URL,
RESOURCES_DB_URL: process.env.RESOURCES_DB_URL,
VANILLA_DB_URL: process.env.VANILLA_DB_URL,

// used to get M2M token
Expand Down Expand Up @@ -122,11 +123,20 @@ module.exports = {
MAMBO_DOMAIN_URL: process.env.MAMBO_DOMAIN_URL,
MAMBO_DEFAULT_SITE: process.env.MAMBO_DEFAULT_SITE,

// Learning Paths API
LEARNING_PATHS_API_URL: process.env.LEARNING_PATHS_API_URL || 'https://api.topcoder-dev.com/v5/learning-paths',

// Gamification API
GAMIFICATION_API_URL: process.env.GAMIFICATION_API_URL || 'https://api.topcoder-dev.com/v5/gamification',

HASHING_KEYS: {
USERFLOW: process.env.USERFLOW_PRIVATE_KEY
},
MEMBER_SERVICE_PRISMA_TIMEOUT: process.env.MEMBER_SERVICE_PRISMA_TIMEOUT ? parseInt(process.env.MEMBER_SERVICE_PRISMA_TIMEOUT, 10) : 10000,

// Finance database connection string
FINANCE_DATABASE_URL: process.env.FINANCE_DATABASE_URL,

HUBSPOT_API_KEY: process.env.HUBSPOT_API_KEY,
HUBSPOT_BASE_URL: process.env.HUBSPOT_BASE_URL,

Expand Down
11 changes: 8 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Use the base image with Node.js
FROM node:21.6.0
FROM node:22.22.0

# Copy the current directory into the Docker image
COPY . /member-api-v6
Expand All @@ -8,6 +8,11 @@ COPY . /member-api-v6
WORKDIR /member-api-v6

# Install the dependencies from package.json
RUN yarn
RUN npx pnpm install

CMD node app.js
# Copy and set permissions for entrypoint script
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

# Use entrypoint script
ENTRYPOINT ["/entrypoint.sh"]
8 changes: 8 additions & 0 deletions docker/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
set -e

echo "Running Prisma migrations..."
./node_modules/.bin/prisma migrate deploy --schema=prisma/schema.prisma

echo "Starting application..."
exec node app.js
59 changes: 59 additions & 0 deletions docs/Member API.postman_collection.json
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,65 @@
}
},
"response": []
},
{
"name": "Confirm Member Profile",
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJwaGVhZCIsImV4cCI6MTk4MDk5Mjc4OCwidXNlcklkIjoiMjI3NDI3NjQiLCJpYXQiOjE1NDk3OTk1NjksImVtYWlsIjoiZW1haWxAZG9tYWluLmNvbS56IiwianRpIjoiOWM0NTExYzUtYzE2NS00YTFiLTg5OWUtYjY1YWQwZTAyYjU1In0.kOPm331fsiXj2y_7by2ohjoaGWIGon0TxKL1znbpijU",
"type": "string"
}
]
},
"method": "POST",
"header": [],
"url": {
"raw": "http://localhost:3000/v6/members/phead/confirmProfile",
"protocol": "http",
"host": [
"localhost"
],
"port": "3000",
"path": [
"v6",
"members",
"phead",
"confirmProfile"
]
}
},
"response": []
}
},
{
"name": "Get Member Skill",
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"url": {
"raw": "http://localhost:3000/v6/members/phead/skills/123",
"protocol": "http",
"host": [
"localhost"
],
"port": "3000",
"path": [
"v6",
"members",
"phead",
"skills",
"123"
]
}
},
"response": []
}
]
},
Expand Down
Loading
Loading