From cf892ffa37ffc7a8ff93c8ac9e0064b1bd3dc331 Mon Sep 17 00:00:00 2001 From: Cagdas U Date: Sun, 23 Aug 2020 23:26:13 +0300 Subject: [PATCH 1/3] fix(challenge-utils): update `filterByUsers` to use `userId` Update `filterByUsers` function to use `challenge.users[userId]` property instead of `userChallenges` for filtering. Addresses topcoder-platform/community-app#4782 --- src/utils/challenge/filter.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index 263c3132..d662a230 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -173,8 +173,11 @@ function filterByUpcoming(challenge, state) { } function filterByUsers(challenge, state) { - if (!state.userChallenges) return true; - return state.userChallenges.find(ch => challenge.id === ch); + const userId = _.get(state, 'userId', null); + if (userId) { + return _.get(challenge, ['users', userId], false); + } + return true; } /** From 02fd5ed93af70b1e1a05fa697452fa8282189f92 Mon Sep 17 00:00:00 2001 From: Cagdas U Date: Thu, 27 Aug 2020 17:25:55 +0300 Subject: [PATCH 2/3] Revert "fix(challenge-utils): update `filterByUsers` to use `userId`" This reverts commit cf892ffa37ffc7a8ff93c8ac9e0064b1bd3dc331. --- src/utils/challenge/filter.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index d662a230..263c3132 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -173,11 +173,8 @@ function filterByUpcoming(challenge, state) { } function filterByUsers(challenge, state) { - const userId = _.get(state, 'userId', null); - if (userId) { - return _.get(challenge, ['users', userId], false); - } - return true; + if (!state.userChallenges) return true; + return state.userChallenges.find(ch => challenge.id === ch); } /** From 385538fd218ecf279ca6f1d2e598059e958f1821 Mon Sep 17 00:00:00 2001 From: Cagdas U Date: Thu, 27 Aug 2020 19:00:53 +0300 Subject: [PATCH 3/3] fix: add `page` and `perPage` parameters in `getUserResources` --- src/services/challenges.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/services/challenges.js b/src/services/challenges.js index fd0fecec..c90f9c9d 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -522,10 +522,12 @@ class ChallengesService { /** * Gets user resources. * @param {String} userId User id whose challenges we want to fetch. + * @param {Number} page Current page for paginated API response (default 1) + * @param {Number} perPage Page size for paginated API response (default 1000) * @return {Promise} Resolves to the api response. */ - async getUserResources(userId) { - const res = await this.private.apiV5.get(`/resources/${userId}/challenges`); + async getUserResources(userId, page = 1, perPage = 1000) { + const res = await this.private.apiV5.get(`/resources/${userId}/challenges?page=${page}&perPage=${perPage}`); return res.json(); }