diff --git a/src/actions/members.js b/src/actions/members.js index 45b9606a..acee1ce9 100644 --- a/src/actions/members.js +++ b/src/actions/members.js @@ -146,6 +146,7 @@ async function getActiveChallengesInit(handle, uuid) { async function getActiveChallengesDone(handle, uuid, tokenV3) { const filter = { status: 'Active' }; const service = getChallengesService(tokenV3); + const memberInfo = await getService(tokenV3).getMemberInfo(handle); /* TODO: Reuse `getAll` from `actions/challenge-listing` /* after it moved from `community-app` to here. */ @@ -160,7 +161,7 @@ async function getActiveChallengesDone(handle, uuid, tokenV3) { }); } const calls = [ - getAll(params => service.getUserChallenges(handle, filter, params)), + getAll(params => service.getUserChallenges(memberInfo.userId, filter, params)), ]; const [challenges] = await Promise.all(calls); diff --git a/src/services/challenges.js b/src/services/challenges.js index 10f0ded0..85daaf14 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -452,29 +452,22 @@ class ChallengesService { const userFilters = _.cloneDeep(filters); ChallengesService.updateFiltersParamsForGettingMemberChallenges(userFilters, params); - const userChallenges = await this.private.apiV5.get(`/resources/${userId}/challenges`) - .then(checkErrorV5).then(res => res); - - let chResponse = null; - if (userChallenges.result && userChallenges.result.length > 0) { - const query = { - ...params, - ...userFilters, - ids: userChallenges.result, - }; - const endpoint = '/challenges'; - const url = `${endpoint}?${qs.stringify(_.omit(query, ['limit', 'offset', 'technologies']))}`; - chResponse = await this.private.apiV5.get(url) - .then(checkErrorV5).then((res) => { - res.result.forEach(item => normalizeChallenge(item, userId)); - return res; - }); - } + const query = { + ...params, + ...userFilters, + memberId: userId, + }; + const url = `/challenges?${qs.stringify(_.omit(query, ['limit', 'offset', 'technologies']))}`; + const userChallenges = await this.private.apiV5.get(url) + .then(checkErrorV5) + .then((res) => { + res.result.forEach(item => normalizeChallenge(item, userId)); + return res.result; + }); - const chResult = (chResponse && chResponse.result) || []; return { - challenges: chResult, - totalCount: chResult.length, + challenges: userChallenges, + totalCount: userChallenges.length, }; }