|
5 | 5 |
|
6 | 6 | import { createActions } from 'redux-actions';
|
7 | 7 | import { decodeToken } from 'tc-accounts';
|
8 |
| -import { getApi } from '../services/api'; |
| 8 | +import { getApiV3, getApiV5 } from '../services/api'; |
9 | 9 |
|
10 | 10 | /**
|
11 | 11 | * @static
|
12 |
| - * @desc Creates an action that loads Topcoder user profile from v5 API. |
| 12 | + * @desc Creates an action that loads Topcoder user profile from v3 API. |
13 | 13 | * @param {String} userTokenV3 v3 authentication token.
|
14 | 14 | * @return {Action}
|
15 | 15 | */
|
16 | 16 | function loadProfileDone(userTokenV3) {
|
17 | 17 | if (!userTokenV3) return Promise.resolve(null);
|
18 | 18 | const user = decodeToken(userTokenV3);
|
19 |
| - const api = getApi('V5', userTokenV3); |
| 19 | + const apiV3 = getApiV3(userTokenV3); |
| 20 | + const apiV5 = getApiV5(userTokenV3); |
20 | 21 | return Promise.all([
|
21 |
| - api.get(`/members/${user.handle}`) |
22 |
| - .then(res => (res.ok ? res.json() : new Error(res.statusText))) |
23 |
| - .then(res => (res.message ? new Error(res.message) : res[0])), |
24 |
| - api.get(`/groups?memberId=${user.userId}&membershipType=user`) |
| 22 | + apiV3.get(`/members/${user.handle}`) |
| 23 | + .then(res => res.json()).then(res => (res.result.status === 200 ? res.result.content : {})), |
| 24 | + apiV5.get(`/groups?memberId=${user.userId}&membershipType=user`) |
25 | 25 | .then(res => (res.ok ? res.json() : new Error(res.statusText)))
|
26 | 26 | .then(res => (res.message ? new Error(res.message) : res)),
|
27 | 27 | ]).then(([profile, groups]) => ({ ...profile, groups }));
|
|
0 commit comments