Skip to content

Commit 4be52b8

Browse files
committed
Challenge 30124821
1 parent ce98272 commit 4be52b8

File tree

9 files changed

+253
-282
lines changed

9 files changed

+253
-282
lines changed

__tests__/__snapshots__/index.js.snap

-1
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,6 @@ Object {
303303
"default": undefined,
304304
"getService": [Function],
305305
"normalizeChallenge": [Function],
306-
"normalizeChallengeDetails": [Function],
307306
},
308307
"communities": Object {
309308
"default": undefined,

docs/services.challenges.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This module provides a service for convenient manipulation with
1818
* [.close(challengeId, winnerId)](#module_services.challenges..ChallengesService+close) ⇒ <code>Promise</code>
1919
* [.createTask(projectId, accountId, title, description, assignee, payment)](#module_services.challenges..ChallengesService+createTask) ⇒ <code>Promise</code>
2020
* [.getChallengeDetails(challengeId)](#module_services.challenges..ChallengesService+getChallengeDetails) ⇒ <code>Promise</code>
21-
* [.getChallengeSubtracks()](#module_services.challenges..ChallengesService+getChallengeSubtracks) ⇒ <code>Promise</code>
21+
* [.getChallengeTypes()](#module_services.challenges..ChallengesService+getChallengeTypes) ⇒ <code>Promise</code>
2222
* [.getChallengeTags()](#module_services.challenges..ChallengesService+getChallengeTags) ⇒ <code>Promise</code>
2323
* [.getChallenges(filters, params)](#module_services.challenges..ChallengesService+getChallenges) ⇒ <code>Promise</code>
2424
* [.getMarathonMatches(filters, params)](#module_services.challenges..ChallengesService+getMarathonMatches) ⇒ <code>Promise</code>
@@ -119,7 +119,7 @@ Challenge service.
119119
* [.close(challengeId, winnerId)](#module_services.challenges..ChallengesService+close) ⇒ <code>Promise</code>
120120
* [.createTask(projectId, accountId, title, description, assignee, payment)](#module_services.challenges..ChallengesService+createTask) ⇒ <code>Promise</code>
121121
* [.getChallengeDetails(challengeId)](#module_services.challenges..ChallengesService+getChallengeDetails) ⇒ <code>Promise</code>
122-
* [.getChallengeSubtracks()](#module_services.challenges..ChallengesService+getChallengeSubtracks) ⇒ <code>Promise</code>
122+
* [.getChallengeTypes()](#module_services.challenges..ChallengesService+getChallengeTypes) ⇒ <code>Promise</code>
123123
* [.getChallengeTags()](#module_services.challenges..ChallengesService+getChallengeTags) ⇒ <code>Promise</code>
124124
* [.getChallenges(filters, params)](#module_services.challenges..ChallengesService+getChallenges) ⇒ <code>Promise</code>
125125
* [.getMarathonMatches(filters, params)](#module_services.challenges..ChallengesService+getMarathonMatches) ⇒ <code>Promise</code>
@@ -203,9 +203,9 @@ incorrect in the main v3 endpoint. This may change in the future.
203203
| --- | --- |
204204
| challengeId | <code>Number</code> \| <code>String</code> |
205205

206-
<a name="module_services.challenges..ChallengesService+getChallengeSubtracks"></a>
206+
<a name="module_services.challenges..ChallengesService+getChallengeTypes"></a>
207207

208-
#### challengesService.getChallengeSubtracks() ⇒ <code>Promise</code>
208+
#### challengesService.getChallengeTypes() ⇒ <code>Promise</code>
209209
Gets possible challenge subtracks.
210210

211211
**Kind**: instance method of [<code>ChallengesService</code>](#module_services.challenges..ChallengesService)

src/actions/member-tasks.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ function getDone(uuid, projectId, pageNum, tokenV3) {
6262
isTask: 1,
6363
projectId,
6464
}, {
65-
limit: PAGE_SIZE,
66-
offset: pageNum * PAGE_SIZE,
65+
perPage: PAGE_SIZE,
66+
page: pageNum + 1,
6767
}).then(({ challenges, totalCount }) => ({
6868
projectId,
6969
tasks: challenges,

src/actions/members.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -144,16 +144,16 @@ async function getActiveChallengesInit(handle, uuid) {
144144
* @returns {Object} Payload
145145
*/
146146
async function getActiveChallengesDone(handle, uuid, tokenV3) {
147-
const filter = { status: 'ACTIVE' };
147+
const filter = { status: 'Active' };
148148
const service = getChallengesService(tokenV3);
149149
/* TODO: Reuse `getAll` from `actions/challenge-listing`
150150
/* after it moved from `community-app` to here.
151151
*/
152152
function getAll(getter, page = 0, prev = null) {
153153
const PAGE_SIZE = 50;
154154
return getter({
155-
limit: PAGE_SIZE,
156-
offset: page * PAGE_SIZE,
155+
perPage: PAGE_SIZE,
156+
page: page + 1,
157157
}).then(({ challenges: chunk }) => {
158158
if (!chunk.length) return prev || [];
159159
return getAll(getter, 1 + page, prev ? prev.concat(chunk) : chunk);
@@ -247,7 +247,7 @@ async function getSubtrackChallengesDone(
247247
refresh,
248248
) {
249249
const filter = {
250-
status: 'completed',
250+
status: 'Completed',
251251
hasUserSubmittedForReview: 'true',
252252
track,
253253
subTrack,

src/actions/stats.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ async function getCommunityStatsDone(community, uuid, challenges, token) {
4242
/* TODO: At the moment, this component loads challenge objects to calculate
4343
* the number of challenges and the total prize. Probably in future, we'll
4444
* have a special API to get these data. */
45-
let filtered = challenges.filter(x => x.status === 'ACTIVE');
45+
let filtered = challenges.filter(x => x.status === 'Active');
4646
if (community.challengeFilter) {
4747
const filterFunction = Filter.getFilterFunction(community.challengeFilter);
4848
filtered = filtered.filter(filterFunction);

src/reducers/challenge.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ export function factory(options = {}) {
462462
const checkpointsPromise = track === 'design' ? (
463463
redux.resolveAction(actions.challenge.fetchCheckpointsDone(tokens.tokenV2, challengeId))
464464
) : null;
465-
const resultsPromise = _.get(details, 'payload.status', '') === 'COMPLETED' ? (
465+
const resultsPromise = _.get(details, 'payload.status', '') === 'Completed' ? (
466466
redux.resolveAction(actions.challenge.loadResultsDone(tokens, challengeId, track))
467467
) : null;
468468
return Promise.all([details, checkpointsPromise, resultsPromise]);

src/services/__mocks__/challenges.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export function normalizeChallengeDetails(v3, v3Filtered, v3User, v2, username)
134134
// Fill some derived data
135135
const registrationOpen = _.some(
136136
challenge.allPhases,
137-
phase => phase.phaseType === 'Registration' && phase.phaseStatus === 'Open',
137+
phase => phase.name === 'Registration' && phase.isOpen,
138138
) ? 'Yes' : 'No';
139139
_.defaults(challenge, {
140140
communities: new Set([COMPETITION_TRACKS[challenge.track]]),
@@ -163,7 +163,7 @@ export function normalizeChallengeDetails(v3, v3Filtered, v3User, v2, username)
163163
* @return {Object} Normalized challenge.
164164
*/
165165
export function normalizeChallenge(challenge, username) {
166-
const registrationOpen = challenge.allPhases.filter(d => d.phaseType === 'Registration')[0].phaseStatus === 'Open' ? 'Yes' : 'No';
166+
const registrationOpen = challenge.allPhases.filter(d => d.name === 'Registration')[0].isOpen ? 'Yes' : 'No';
167167
const groups = {};
168168
if (challenge.groupIds) {
169169
challenge.groupIds.forEach((id) => {
@@ -250,10 +250,10 @@ class ChallengesService {
250250
}
251251

252252
/**
253-
* Gets possible challenge subtracks.
254-
* @return {Promise} Resolves to the array of subtrack names.
253+
* Gets possible challenge types.
254+
* @return {Promise} Resolves to the array of challenge type names.
255255
*/
256-
getChallengeSubtracks() {
256+
getChallengeTypes() {
257257
return Promise.all([
258258
this.private.apiV2.get('/design/challengetypes')
259259
.then(res => (res.ok ? res.json() : new Error(res.statusText))),

0 commit comments

Comments
 (0)