Skip to content

Commit a211634

Browse files
authored
Merge pull request #1650 from topcoder-platform/pm-1169
fix(PM-1169): send source to accept or decline invite API
2 parents 1e3c8e0 + 713528f commit a211634

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ workflows:
152152
context: org-global
153153
filters: &filters-dev
154154
branches:
155-
only: ["develop", "PM-803_wm-regression-fixes", "PM-902_show-all-projects-on-challenge-page"]
155+
only: ["develop", "PM-803_wm-regression-fixes", "PM-902_show-all-projects-on-challenge-page", "pm-1169"]
156156

157157
# Production builds are exectuted only on tagged commits to the
158158
# master branch.

src/containers/ProjectInvitations/index.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ const ProjectInvitations = ({ match, auth, isProjectLoading, history, projectDet
2424
const [isUpdating, setIsUpdating] = useState(automaticAction || false)
2525
const isAccepting = isUpdating === PROJECT_MEMBER_INVITE_STATUS_ACCEPTED
2626
const isDeclining = isUpdating === PROJECT_MEMBER_INVITE_STATUS_REFUSED
27+
const queryParams = new URLSearchParams(window.location.search)
28+
const source = queryParams.get('source')
2729

2830
useEffect(() => {
2931
if (!projectId) {
@@ -42,9 +44,9 @@ const ProjectInvitations = ({ match, auth, isProjectLoading, history, projectDet
4244
}
4345
}, [projectId, auth, projectDetail, isProjectLoading, history])
4446

45-
const updateInvite = useCallback(async (status) => {
47+
const updateInvite = useCallback(async (status, source) => {
4648
setIsUpdating(status)
47-
await updateProjectMemberInvite(projectId, invitation.id, status)
49+
await updateProjectMemberInvite(projectId, invitation.id, status, source)
4850

4951
// await for the project details to propagate
5052
await delay(1000)
@@ -56,8 +58,8 @@ const ProjectInvitations = ({ match, auth, isProjectLoading, history, projectDet
5658
history.push(status === PROJECT_MEMBER_INVITE_STATUS_ACCEPTED ? `/projects/${projectId}/challenges` : '/projects')
5759
}, [projectId, invitation, loadProjectInvites, history])
5860

59-
const acceptInvite = useCallback(() => updateInvite(PROJECT_MEMBER_INVITE_STATUS_ACCEPTED), [updateInvite])
60-
const declineInvite = useCallback(() => updateInvite(PROJECT_MEMBER_INVITE_STATUS_REFUSED), [updateInvite])
61+
const acceptInvite = useCallback(() => updateInvite(PROJECT_MEMBER_INVITE_STATUS_ACCEPTED, source), [updateInvite, source])
62+
const declineInvite = useCallback(() => updateInvite(PROJECT_MEMBER_INVITE_STATUS_REFUSED, source), [updateInvite, source])
6163

6264
useEffect(() => {
6365
if (!invitation || !automaticAction) {
@@ -69,7 +71,7 @@ const ProjectInvitations = ({ match, auth, isProjectLoading, history, projectDet
6971
} else if (automaticAction === PROJECT_MEMBER_INVITE_STATUS_REFUSED) {
7072
declineInvite()
7173
}
72-
}, [invitation, automaticAction])
74+
}, [invitation, automaticAction, source])
7375

7476
return (
7577
<>

src/services/projectMemberInvites.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import { PROJECTS_API_URL } from '../config/constants'
88
* @param {string} status the new status for invitation
99
* @return {object} project member invite returned by api
1010
*/
11-
export function updateProjectMemberInvite (projectId, inviteId, status) {
11+
export function updateProjectMemberInvite (projectId, inviteId, status, source) {
1212
const url = `${PROJECTS_API_URL}/${projectId}/invites/${inviteId}`
13-
return axios.patch(url, { status })
13+
return axios.patch(url, { status, source })
1414
.then(resp => resp.data)
1515
}
1616

0 commit comments

Comments
 (0)