Skip to content

Commit f1e05cc

Browse files
committed
fix api url defs in config file
1 parent 49ce083 commit f1e05cc

File tree

8 files changed

+45
-99
lines changed

8 files changed

+45
-99
lines changed

config/constants/development.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1+
const DEV_API_HOSTNAME = 'https://api.topcoder-dev.com' // 'http://localhost:3000
2+
13
module.exports = {
24
ACCOUNTS_APP_CONNECTOR_URL: 'https://accounts.topcoder-dev.com/connector.html',
35
ACCOUNTS_APP_LOGIN_URL: 'https://accounts.topcoder-dev.com/member',
46
COMMUNITY_APP_URL: 'https://www.topcoder-dev.com',
5-
MEMBER_API_URL: 'https://api.topcoder-dev.com/v4/members',
6-
MEMBER_API_V3_URL: 'https://api.topcoder-dev.com/v3/members',
7-
DEV_APP_URL: 'https://local.topcoder-dev.com',
8-
CHALLENGE_API_URL: 'https://api.topcoder-dev.com/v5',
9-
PROJECT_API_URL: 'https://api.topcoder-dev.com/v4',
10-
API_V4_URL: 'https://api.topcoder-dev.com/v4',
11-
API_V3_URL: 'https://api.topcoder-dev.com/v3'
7+
MEMBER_API_URL: `${DEV_API_HOSTNAME}/v4/members`,
8+
MEMBER_API_V3_URL: `${DEV_API_HOSTNAME}/v3/members`,
9+
DEV_APP_URL: 'http://local.topcoder-dev.com',
10+
CHALLENGE_API_URL: `${DEV_API_HOSTNAME}/v5/challenges`,
11+
CHALLENGE_TIMELINE_TEMPLATES_URL: `${DEV_API_HOSTNAME}/v5/timelinetemplates`,
12+
CHALLENGE_TYPES_URL: `${DEV_API_HOSTNAME}/v5/challengetypes`,
13+
CHALLENGE_PHASES_URL: `${DEV_API_HOSTNAME}/v5/challengephases`,
14+
PROJECT_API_URL: `${DEV_API_HOSTNAME}/v5/projects`,
15+
GROUPS_API_URL: `${DEV_API_HOSTNAME}/v5/groups`,
16+
PLATFORMS_V4_API_URL: `${DEV_API_HOSTNAME}/v4/platforms`,
17+
TECHNOLOGIES_V4_API_URL: `${DEV_API_HOSTNAME}/v4/technologies`
1218
}

src/App.js

100755100644
File mode changed.

src/config/constants.js

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/**
22
* Constants used across the app
33
*/
4+
export const { COMMUNITY_APP_URL, CHALLENGE_API_URL } = process.env
5+
46
// Actions
57
export const LOAD_PROJECTS_SUCCESS = 'LOAD_PROJECTS_SUCCESS'
68
export const LOAD_PROJECTS_PENDING = 'LOAD_PROJECTS_PENDING'
@@ -22,18 +24,6 @@ export const LOAD_CHALLENGE_SUBMISSIONS_SUCCESS = 'LOAD_CHALLENGE_SUBMISSIONS_SU
2224
export const LOAD_CHALLENGE_SUBMISSIONS_PENDING = 'LOAD_CHALLENGE_SUBMISSIONS_PENDING'
2325
export const LOAD_CHALLENGE_SUBMISSIONS_FAILURE = 'LOAD_CHALLENGE_SUBMISSIONS_FAILURE'
2426

25-
export const LOAD_CHALLENGE_TYPES_SUCCESS = 'LOAD_CHALLENGE_TYPES_SUCCESS'
26-
export const LOAD_CHALLENGE_TYPES_PENDING = 'LOAD_CHALLENGE_TYPES_PENDING'
27-
export const LOAD_CHALLENGE_TYPES_FAILURE = 'LOAD_CHALLENGE_TYPES_FAILURE'
28-
29-
export const LOAD_SUBMISSION_DETAILS_SUCCESS = 'LOAD_SUBMISSION_DETAILS_SUCCESS'
30-
export const LOAD_SUBMISSION_DETAILS_PENDING = 'LOAD_SUBMISSION_DETAILS_PENDING'
31-
export const LOAD_SUBMISSION_DETAILS_FAILURE = 'LOAD_SUBMISSION_DETAILS_FAILURE'
32-
33-
export const LOAD_SUBMISSION_ARTIFACTS_SUCCESS = 'LOAD_SUBMISSION_ARTIFACTS_SUCCESS'
34-
export const LOAD_SUBMISSION_ARTIFACTS_PENDING = 'LOAD_SUBMISSION_ARTIFACTS_PENDING'
35-
export const LOAD_SUBMISSION_ARTIFACTS_FAILURE = 'LOAD_SUBMISSION_ARTIFACTS_FAILURE'
36-
3727
export const LOAD_CHALLENGE_MEMBERS_SUCCESS = 'LOAD_CHALLENGE_MEMBERS'
3828
export const LOAD_CHALLENGE_METADATA_SUCCESS = 'LOAD_CHALLENGE_METADATA_SUCCESS'
3929

@@ -75,20 +65,6 @@ export const CHALLENGE_STATUS = {
7565
COMPLETED: 'COMPLETED'
7666
}
7767

78-
export const PROJECT_API_URL = process.env.PROJECT_API_URL
79-
export const API_V3_URL = process.env.API_V3_URL
80-
export const API_V4_URL = process.env.API_V4_URL
81-
82-
export const ACCOUNTS_APP_CONNECTOR_URL = process.env.ACCOUNTS_APP_CONNECTOR_URL
83-
export const ACCOUNTS_APP_LOGIN_URL = process.env.ACCOUNTS_APP_LOGIN_URL
84-
85-
export const COMMUNITY_APP_URL = process.env.COMMUNITY_APP_URL
86-
87-
export const CHALLENGE_API_URL = process.env.CHALLENGE_API_URL
88-
89-
export const MEMBER_API_URL = process.env.MEMBER_API_URL
90-
export const MEMBER_API_V3_URL = process.env.MEMBER_API_V3_URL
91-
9268
export const getTCMemberURL = (handle) => `${COMMUNITY_APP_URL}/members/${handle}`
9369

9470
export const SYSTEM_USERS = [
@@ -114,13 +90,7 @@ export const ALLOWED_USER_ROLES = [
11490
'Connect Copilot'
11591
]
11692

117-
export const COMPETITION_TRACKS = {
118-
DATA_SCIENCE: 'data_science',
119-
DESIGN: 'design',
120-
DEVELOP: 'develop'
121-
}
122-
12393
export const downloadAttachmentURL = (challengeId, attachmentId, token) =>
124-
`${CHALLENGE_API_URL}/challenges/${challengeId}/attachments/${attachmentId}?token=${token}`
94+
`${CHALLENGE_API_URL}/${challengeId}/attachments/${attachmentId}?token=${token}`
12595

12696
export const PAGE_SIZE = 50

src/routes.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ import Sidebar from './containers/Sidebar'
1212
import ChallengeList from './containers/Challenges'
1313
import ChallengeEditor from './containers/ChallengeEditor'
1414
import { getFreshToken } from 'tc-accounts'
15-
import { ACCOUNTS_APP_LOGIN_URL } from './config/constants'
1615
import { saveToken } from './actions/auth'
1716
import { connect } from 'react-redux'
1817
import { checkAllowedRoles } from './util/tc'
1918

19+
const { ACCOUNTS_APP_LOGIN_URL } = process.env
20+
2021
class Routes extends React.Component {
2122
componentWillMount () {
2223
this.checkAuth()

src/services/axiosWithAuth.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import axios from 'axios'
22
import store from '../config/store'
33
import { getFreshToken, isTokenExpired } from 'tc-accounts'
4-
import { ACCOUNTS_APP_LOGIN_URL } from '../config/constants'
4+
const { ACCOUNTS_APP_LOGIN_URL } = process.env
55

66
/**
77
* Create an axios instance that can make authenticated requests

src/services/challenges.js

Lines changed: 22 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,22 @@ import _ from 'lodash'
22
import qs from 'qs'
33
import { axiosInstance } from './axiosWithAuth'
44
import FormData from 'form-data'
5-
import { MEMBER_API_URL, CHALLENGE_API_URL, PROJECT_API_URL, API_V3_URL, API_V4_URL } from '../config/constants'
6-
7-
/**
8-
* Api request for fetching member's active challenges
9-
* @returns {Promise<*>}
10-
*/
11-
export async function fetchMemberChallenges (handle) {
12-
const response = await axiosInstance.get(`${MEMBER_API_URL}/${handle}/challenges?filter=status=ACTIVE`)
13-
return _.get(response, 'data.result.content')
14-
}
15-
16-
/**
17-
* Api request for fetching member's challenge (it includes member roles)
18-
* @param {String} handle
19-
* @param challengeId
20-
* @returns {Promise<*>}
21-
*/
22-
export async function fetchMemberChallenge (handle, challengeId) {
23-
const response = await axiosInstance.get(`${CHALLENGE_API_URL}/members/${handle}/challenges?filter=id=${challengeId}`)
24-
return _.get(response, 'data.result.content[0]')
25-
}
5+
const {
6+
CHALLENGE_API_URL,
7+
CHALLENGE_TYPES_URL,
8+
CHALLENGE_TIMELINE_TEMPLATES_URL,
9+
CHALLENGE_PHASES_URL,
10+
GROUPS_API_URL,
11+
PLATFORMS_V4_API_URL,
12+
TECHNOLOGIES_V4_API_URL
13+
} = process.env
2614

2715
/**
2816
* Api request for fetching challenge types
2917
* @returns {Promise<*>}
3018
*/
3119
export async function fetchChallengeTypes () {
32-
const response = await axiosInstance.get(`${CHALLENGE_API_URL}/challengetypes?isActive=true`)
20+
const response = await axiosInstance.get(`${CHALLENGE_TYPES_URL}?isActive=true`)
3321
return _.get(response, 'data', [])
3422
}
3523

@@ -38,8 +26,8 @@ export async function fetchChallengeTypes () {
3826
* @returns {Promise<*>}
3927
*/
4028
export async function fetchChallengeTags () {
41-
const platforms = await axiosInstance.get(`${API_V4_URL}/platforms`)
42-
const technologies = await axiosInstance.get(`${API_V4_URL}/technologies`)
29+
const platforms = await axiosInstance.get(PLATFORMS_V4_API_URL)
30+
const technologies = await axiosInstance.get(TECHNOLOGIES_V4_API_URL)
4331
return [
4432
..._.map(_.get(platforms, 'data.result.content', []), tag => _.pick(tag, 'name')),
4533
..._.map(_.get(technologies, 'data.result.content', []), tag => _.pick(tag, 'name'))
@@ -51,7 +39,7 @@ export async function fetchChallengeTags () {
5139
* @returns {Promise<*>}
5240
*/
5341
export async function fetchGroups () {
54-
const response = await axiosInstance.get(`${API_V3_URL}/groups`)
42+
const response = await axiosInstance.get(GROUPS_API_URL)
5543
return _.get(response, 'data.result.content', [])
5644
}
5745

@@ -60,7 +48,7 @@ export async function fetchGroups () {
6048
* @returns {Promise<*>}
6149
*/
6250
export async function fetchTimelineTemplates () {
63-
const response = await axiosInstance.get(`${CHALLENGE_API_URL}/timelinetemplates`)
51+
const response = await axiosInstance.get(CHALLENGE_TIMELINE_TEMPLATES_URL)
6452
return _.get(response, 'data', [])
6553
}
6654

@@ -69,7 +57,7 @@ export async function fetchTimelineTemplates () {
6957
* @returns {Promise<*>}
7058
*/
7159
export async function fetchChallengePhases () {
72-
const response = await axiosInstance.get(`${CHALLENGE_API_URL}/challengephases`)
60+
const response = await axiosInstance.get(CHALLENGE_PHASES_URL)
7361
return _.get(response, 'data', [])
7462
}
7563

@@ -79,37 +67,17 @@ export async function fetchChallengePhases () {
7967
* @returns {Promise<*>}
8068
*/
8169
export async function fetchChallenge (challengeId) {
82-
const response = await axiosInstance.get(`${CHALLENGE_API_URL}/challenges/${challengeId}`)
70+
const response = await axiosInstance.get(`${CHALLENGE_API_URL}/${challengeId}`)
8371
return _.get(response, 'data')
8472
}
8573

86-
/**
87-
* Api request for fetching project's challenges
88-
* @param projectId Project id
89-
* @param status Challenge status
90-
* @returns {Promise<*>}
91-
*/
92-
export async function fetchProjectChallenges (projectId, status) {
93-
let filters = []
94-
if (_.isEmpty(projectId)) {
95-
status = 'ACTIVE'
96-
} else {
97-
filters.push(`projectId=${projectId}`)
98-
}
99-
if (!_.isEmpty(status)) {
100-
filters.push(`status=${status}`)
101-
}
102-
const response = await axiosInstance.get(`${PROJECT_API_URL}/challenges${filters.length > 0 ? `?filter=${encodeURIComponent(filters.join('&'))}` : ''}`)
103-
return _.get(response, 'data.result.content')
104-
}
105-
10674
/**
10775
* Api request for creating new challenge
10876
* @param challenge challenge data
10977
* @returns {Promise<*>}
11078
*/
11179
export function createChallenge (challenge) {
112-
return axiosInstance.post(`${CHALLENGE_API_URL}/challenges`, challenge)
80+
return axiosInstance.post(CHALLENGE_API_URL, challenge)
11381
}
11482

11583
/**
@@ -119,13 +87,13 @@ export function createChallenge (challenge) {
11987
* @returns {Promise<*>}
12088
*/
12189
export function updateChallenge (challenge, challengeId) {
122-
return axiosInstance.put(`${CHALLENGE_API_URL}/challenges/${challengeId}`, challenge)
90+
return axiosInstance.put(`${CHALLENGE_API_URL}/${challengeId}`, challenge)
12391
}
12492

12593
export function uploadAttachment (challengeId, file) {
12694
const data = new FormData()
12795
data.append('attachment', file)
128-
return axiosInstance.post(`${CHALLENGE_API_URL}/challenges/${challengeId}/attachments`, data)
96+
return axiosInstance.post(`${CHALLENGE_API_URL}/${challengeId}/attachments`, data)
12997
}
13098

13199
/**
@@ -138,7 +106,8 @@ export function fetchChallenges (filters, params) {
138106
...filters,
139107
...params
140108
}
141-
return axiosInstance.get(`${CHALLENGE_API_URL}/challenges?${qs.stringify(query, { encode: false })}`)
109+
console.log({ query })
110+
return axiosInstance.get(`${CHALLENGE_API_URL}?${qs.stringify(query, { encode: false })}`)
142111
}
143112

144113
/**
@@ -147,5 +116,5 @@ export function fetchChallenges (filters, params) {
147116
* @param params
148117
*/
149118
export function patchChallenge (challengeId, params) {
150-
return axiosInstance.patch(`${CHALLENGE_API_URL}/challenges/${challengeId}`, params)
119+
return axiosInstance.patch(`${CHALLENGE_API_URL}/${challengeId}`, params)
151120
}

src/services/projects.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import _ from 'lodash'
22
import { axiosInstance } from './axiosWithAuth'
3-
import { MEMBER_API_V3_URL, PROJECT_API_URL } from '../config/constants'
3+
const { MEMBER_API_V3_URL, PROJECT_API_URL } = process.env
44

55
/**
66
* Api request for fetching member's projects
77
* @returns {Promise<*>}
88
*/
99
export async function fetchMemberProjects () {
10-
const response = await axiosInstance.get(`${PROJECT_API_URL}/projects?limit=1000`)
10+
const response = await axiosInstance.get(`${PROJECT_API_URL}?limit=1000`)
1111
return _.get(response, 'data.result.content')
1212
}
1313

@@ -17,7 +17,7 @@ export async function fetchMemberProjects () {
1717
* @returns {Promise<*>}
1818
*/
1919
export async function fetchProjectById (id) {
20-
const response = await axiosInstance.get(`${PROJECT_API_URL}/projects/${id}`)
20+
const response = await axiosInstance.get(`${PROJECT_API_URL}/${id}`)
2121
return _.get(response, 'data.result.content')
2222
}
2323

src/services/user.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import _ from 'lodash'
22
import { axiosInstance } from './axiosWithAuth'
3-
import { MEMBER_API_V3_URL } from '../config/constants'
3+
const { MEMBER_API_V3_URL } = process.env
44

55
/**
66
* Api request for fetching user profile

0 commit comments

Comments
 (0)