Skip to content

Commit f505394

Browse files
Merge branch 'integration-v5-challenge-api' into issue-4393
2 parents 606eb2e + a4f81b3 commit f505394

File tree

3 files changed

+18
-35
lines changed

3 files changed

+18
-35
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .",
3232
"test": "npm run lint && npm run jest"
3333
},
34-
"version": "1000.19.17",
34+
"version": "1000.19.21",
3535
"dependencies": {
3636
"auth0-js": "^6.8.4",
3737
"config": "^3.2.0",

src/services/challenges.js

+11-31
Original file line numberDiff line numberDiff line change
@@ -146,18 +146,12 @@ class ChallengesService {
146146
};
147147
const url = `${endpoint}?${qs.stringify(query)}`;
148148
const res = await this.private.apiV5.get(url).then(checkErrorV5);
149-
let myChallenges;
150-
if (typeof this.private.tokenV3 !== 'undefined') {
151-
const { userId } = decodeToken(this.private.tokenV3);
152-
myChallenges = await this.private.apiV5.get(`/resources/${userId}/challenges`)
153-
.then(checkErrorV5).then(userChallenges => userChallenges);
154-
}
155149
return {
156150
challenges: res.result || [],
157151
totalCount: res.headers.get('x-total'),
158152
meta: {
159153
allChallengesCount: res.headers.get('x-total'),
160-
myChallengesCount: (myChallenges && myChallenges.headers.get('x-total')) || 0,
154+
myChallengesCount: 0,
161155
ongoingChallengesCount: 0,
162156
openChallengesCount: 0,
163157
totalCount: res.headers.get('x-total'),
@@ -339,18 +333,15 @@ class ChallengesService {
339333
.then(res => res.challenges);
340334
}
341335

342-
// TEMP FIX until API was fixed
343-
try {
344-
const registrants = await this.getChallengeRegistrants(challenge.id);
345-
challenge.registrants = registrants;
346-
} catch (err) {
347-
challenge.registrants = [];
348-
}
336+
let registrants = await this.getChallengeRegistrants(challenge.id);
337+
// This TEMP fix to colorStyle, this will be fixed with issue #4530
338+
registrants = _.map(registrants, r => ({
339+
...r, colorStyle: 'color: #151516',
340+
}));
341+
challenge.registrants = registrants;
349342

350343
if (memberId) {
351-
const userChallenges = await this.private.apiV5.get(`/resources/${memberId}/challenges`)
352-
.then(checkErrorV5).then(res => res.result);
353-
isRegistered = _.includes(userChallenges, challengeId);
344+
isRegistered = _.some(registrants, r => r.memberId === memberId);
354345
}
355346

356347
challenge.isLegacyChallenge = isLegacyChallenge;
@@ -373,19 +364,15 @@ class ChallengesService {
373364
* @return {Promise} Resolves to the challenge registrants array.
374365
*/
375366
async getChallengeRegistrants(challengeId) {
376-
const roleId = await this.getRoleId('Submitter');
367+
/* If no token provided, resource will return Submitter role only */
377368
const params = {
378369
challengeId,
379-
roleId,
370+
roleId: this.private.tokenV3 ? await this.getRoleId('Submitter') : '',
380371
};
381372

382373
const registrants = await this.private.apiV5.get(`/resources?${qs.stringify(params)}`)
383374
.then(checkErrorV5).then(res => res.result);
384375

385-
if (_.isEmpty(registrants)) {
386-
throw new Error('Resource Role not found!');
387-
}
388-
389376
return registrants || [];
390377
}
391378

@@ -440,16 +427,9 @@ class ChallengesService {
440427
* @return {Promise} Resolves to the api response.
441428
*/
442429
async getChallenges(filters, params) {
443-
const memberId = this.private.tokenV3 ? decodeToken(this.private.tokenV3).userId : null;
444-
let userChallenges = [];
445-
if (memberId) {
446-
userChallenges = await this.private.apiV5.get(`/resources/${memberId}/challenges`)
447-
.then(checkErrorV5).then(res => res.result);
448-
}
449430
return this.private.getChallenges('/challenges/', filters, params)
450431
.then((res) => {
451-
res.challenges.forEach(item => normalizeChallenge(item,
452-
userChallenges.includes(item.id) ? memberId : null));
432+
res.challenges.forEach(item => normalizeChallenge(item));
453433
return res;
454434
});
455435
}

src/services/lookup.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,12 @@ class LookupService {
112112
* @return {Promise} Resolves to the review types.
113113
*/
114114
async getReviewTypes() {
115-
const res = await this.private.apiV5.get('/reviewTypes');
116-
const jsonResult = await res.json();
117-
return jsonResult;
115+
if (typeof this.private.tokenV3 !== 'undefined') {
116+
const res = await this.private.apiV5.get('/reviewTypes');
117+
const jsonResult = await res.json();
118+
return jsonResult;
119+
}
120+
return [];
118121
}
119122
}
120123

0 commit comments

Comments
 (0)