Skip to content

Commit a7d3d17

Browse files
Merge pull request #271 from topcoder-platform/feature/use-v5-members
chore: use v5/members instead of v3/members
2 parents edbff4e + b16a6fc commit a7d3d17

File tree

3 files changed

+15
-21
lines changed

3 files changed

+15
-21
lines changed

config/default.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ module.exports = {
4040

4141
TOPCODER_USERS_API: process.env.TOPCODER_USERS_API || 'https://api.topcoder-dev.com/v3/users',
4242
// the api to find topcoder members
43-
TOPCODER_MEMBERS_API: process.env.TOPCODER_MEMBERS_API || 'https://api.topcoder-dev.com/v3/members',
43+
TOPCODER_MEMBERS_API: process.env.TOPCODER_MEMBERS_API || 'https://api.topcoder-dev.com/v5/members',
4444
// rate limit of requests to user api
4545
MAX_PARALLEL_REQUEST_TOPCODER_USERS_API: process.env.MAX_PARALLEL_REQUEST_TOPCODER_USERS_API || 100,
4646

src/common/helper.js

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,21 +1304,18 @@ async function getMemberDetailsByHandles(handles) {
13041304
}
13051305
const token = await getM2MToken();
13061306
const res = await request
1307-
.get(`${config.TOPCODER_MEMBERS_API}/_search`)
1307+
.get(`${config.TOPCODER_MEMBERS_API}/`)
13081308
.query({
1309-
query: _.map(
1310-
handles,
1311-
(handle) => `handleLower:${handle.toLowerCase()}`
1312-
).join(' OR '),
1313-
fields: 'userId,handle,firstName,lastName,email',
1309+
'handlesLower[]': handles.map(handle => handle.toLowerCase()),
1310+
fields: 'userId,handle,handleLower,firstName,lastName,email',
13141311
})
13151312
.set('Authorization', `Bearer ${token}`)
13161313
.set('Accept', 'application/json');
13171314
localLogger.debug({
13181315
context: 'getMemberDetailsByHandles',
13191316
message: `response body: ${JSON.stringify(res.body)}`,
13201317
});
1321-
return _.get(res.body, 'result.content');
1318+
return res.body;
13221319
}
13231320

13241321
/**
@@ -1327,17 +1324,14 @@ async function getMemberDetailsByHandles(handles) {
13271324
* @param {String} handle the user handle
13281325
* @returns {Object} the member details
13291326
*/
1330-
async function getV3MemberDetailsByHandle(handle) {
1331-
const token = await getM2MToken();
1332-
const res = await request
1333-
.get(`${config.TOPCODER_MEMBERS_API}/${handle}`)
1334-
.set('Authorization', `Bearer ${token}`)
1335-
.set('Accept', 'application/json');
1336-
localLogger.debug({
1337-
context: 'getV3MemberDetailsByHandle',
1338-
message: `response body: ${JSON.stringify(res.body)}`,
1339-
});
1340-
return _.get(res.body, 'result.content');
1327+
async function getMemberDetailsByHandle(handle) {
1328+
const [memberDetails] = await getMemberDetailsByHandles([handle])
1329+
1330+
if (!memberDetails) {
1331+
throw new errors.NotFoundError(`Member details are not found by handle "${handle}".`)
1332+
}
1333+
1334+
return memberDetails
13411335
}
13421336

13431337
/**
@@ -1756,7 +1750,7 @@ module.exports = {
17561750
getAuditM2Muser,
17571751
checkIsMemberOfProject,
17581752
getMemberDetailsByHandles,
1759-
getV3MemberDetailsByHandle,
1753+
getMemberDetailsByHandle,
17601754
getMemberDetailsByEmails,
17611755
createProjectMember,
17621756
listProjectMembers,

src/services/PaymentService.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ async function activateChallenge (id, token) {
153153
async function closeChallenge (id, userHandle, token) {
154154
localLogger.info({ context: 'closeChallenge', message: `Closing challenge ${id}` })
155155
try {
156-
const { userId } = await helper.getV3MemberDetailsByHandle(userHandle)
156+
const { userId } = await helper.getMemberDetailsByHandle(userHandle)
157157
const body = {
158158
status: constants.ChallengeStatus.COMPLETED,
159159
winners: [{

0 commit comments

Comments
 (0)