diff --git a/src/services/challenges.js b/src/services/challenges.js index d185322f..4d287564 100644 --- a/src/services/challenges.js +++ b/src/services/challenges.js @@ -146,12 +146,18 @@ class ChallengesService { }; const url = `${endpoint}?${qs.stringify(query)}`; const res = await this.private.apiV5.get(url).then(checkErrorV5); + let myChallengesCount = 0; + if (typeof this.private.tokenV3 !== 'undefined') { + const { userId } = decodeToken(this.private.tokenV3); + myChallengesCount = await this.private.apiV5.get(`/resources/${userId}/challenges`) + .then(checkErrorV5).then(userChallenges => userChallenges.headers.get('x-total')); + } return { challenges: res.result || [], totalCount: res.headers.get('x-total'), meta: { allChallengesCount: res.headers.get('x-total'), - myChallengesCount: 0, + myChallengesCount, ongoingChallengesCount: 0, openChallengesCount: 0, totalCount: res.headers.get('x-total'), diff --git a/src/utils/challenge/filter.js b/src/utils/challenge/filter.js index 121ec1a7..fcaf1924 100644 --- a/src/utils/challenge/filter.js +++ b/src/utils/challenge/filter.js @@ -127,10 +127,7 @@ function filterByEndDate(challenge, state) { function filterByStarted(challenge, state) { if (_.isUndefined(state.started)) return true; - if (!challenge.phases) { - return true; - } - return _.some(challenge.phases, { isOpen: true, name: 'Registration' }); + return moment(challenge.registrationStartDate).isBefore(Date.now()); } function filterByStatus(challenge, state) {