Skip to content

Commit d217016

Browse files
Updated terms to use V5 API
1 parent ea3c52b commit d217016

File tree

8 files changed

+34
-34
lines changed

8 files changed

+34
-34
lines changed

src/shared/actions/terms.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const { getService } = services.terms;
2222
* @return {Promise}
2323
*/
2424
function getTermsDone(entity, tokens, mockAgreed) {
25-
const service = getService(tokens.tokenV2);
25+
const service = getService(tokens.tokenV3);
2626
let termsPromise;
2727

2828
// if mockAgreed=true passed, then we create an array of 10 true which we pass to the
@@ -68,11 +68,11 @@ function getTermDetailsInit(termId) {
6868
* Payload creator for TERMS/GET_TERM_DETAILS_DONE action,
6969
* which fetch details of the specified term.
7070
* @param {Number|String} termId
71-
* @param {String} tokenV2
71+
* @param {String} tokenV3
7272
* @return {Promise}
7373
*/
74-
function getTermDetailsDone(termId, tokenV2) {
75-
const service = getService(tokenV2);
74+
function getTermDetailsDone(termId, tokenV3) {
75+
const service = getService(tokenV3);
7676
return service.getTermDetails(termId).then(details => ({ termId, details }));
7777
}
7878

@@ -90,11 +90,11 @@ function getDocuSignUrlInit(templateId) {
9090
* which generate the url of DoduSign term
9191
* @param {Number|String} templateId id of document template to sign
9292
* @param {String} returnUrl callback url after finishing singing
93-
* @param {String} tokenV2 auth token
93+
* @param {String} tokenV3 auth token
9494
* @return {Promise} promise of request result
9595
*/
96-
function getDocuSignUrlDone(templateId, returnUrl, tokenV2) {
97-
const service = getService(tokenV2);
96+
function getDocuSignUrlDone(templateId, returnUrl, tokenV3) {
97+
const service = getService(tokenV3);
9898
return service.getDocuSignUrl(templateId, returnUrl)
9999
.then(resp => ({ templateId, docuSignUrl: resp.recipientViewUrl }));
100100
}
@@ -111,11 +111,11 @@ function agreeTermInit(termId) {
111111
/**
112112
* Payload creator for TERMS/AGREE_TERM_DONE
113113
* @param {Number|String} termId id of term
114-
* @param {String} tokenV2 auth token
114+
* @param {String} tokenV3 auth token
115115
* @return {Promise} promise of request result
116116
*/
117-
function agreeTermDone(termId, tokenV2) {
118-
const service = getService(tokenV2);
117+
function agreeTermDone(termId, tokenV3) {
118+
const service = getService(tokenV3);
119119
return service.agreeTerm(termId).then(resp => ({ termId, success: resp.success }));
120120
}
121121

src/shared/components/ReviewOpportunityDetailsPage/Sidebar/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ const Sidebar = ({ terms }) => (
2828
</h4>
2929
{
3030
terms.map(term => (
31-
<p key={term.termsOfUseId}>
32-
<a href={`https://www.topcoder.com/challenges/terms/detail/${term.termsOfUseId}`} target="_blank" rel="noopener noreferrer">
31+
<p key={term.id}>
32+
<a href={`https://www.topcoder.com/challenges/terms/detail/${term.id}`} target="_blank" rel="noopener noreferrer">
3333
{term.title}
3434
</a>
3535
</p>

src/shared/components/Terms/index.jsx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export default class Terms extends React.Component {
6262
componentDidMount() {
6363
const { loadDetails, selectedTerm } = this.props;
6464
if (selectedTerm) {
65-
loadDetails(selectedTerm.termsOfUseId);
65+
loadDetails(selectedTerm.id);
6666
}
6767
window.addEventListener('message', this.messageHandler, false);
6868
window.addEventListener('resize', this.resizeHandler, false);
@@ -75,8 +75,8 @@ export default class Terms extends React.Component {
7575
checkStatus, canRegister, onCancel, register,
7676
} = this.props;
7777
if (nextProps.selectedTerm && !_.isEqual(selectedTerm, nextProps.selectedTerm)
78-
&& nextProps.loadingTermId !== _.toString(nextProps.selectedTerm.termsOfUseId)) {
79-
loadDetails(nextProps.selectedTerm.termsOfUseId);
78+
&& nextProps.loadingTermId !== _.toString(nextProps.selectedTerm.id)) {
79+
loadDetails(nextProps.selectedTerm.id);
8080
}
8181
if (!_.every(terms, 'agreed') && _.every(nextProps.terms, 'agreed') && !nextProps.checkingStatus) {
8282
checkStatus();
@@ -113,7 +113,7 @@ export default class Terms extends React.Component {
113113
const { onCancel, selectedTerm, signDocu } = this.props;
114114
if (event.data.type === 'DocuSign') {
115115
if (event.data.event === 'signing_complete') {
116-
signDocu(selectedTerm.termsOfUseId);
116+
signDocu(selectedTerm.id);
117117
} else {
118118
onCancel();
119119
}
@@ -159,7 +159,7 @@ export default class Terms extends React.Component {
159159
};
160160

161161
return (
162-
<div key={(selectedTerm || {}).termsOfUseId}>
162+
<div key={(selectedTerm || {}).id}>
163163
<FocusTrap>
164164
<Modal
165165
onCancel={onCancel}
@@ -199,7 +199,7 @@ export default class Terms extends React.Component {
199199
{
200200
terms.map((t, index) => (
201201
<div
202-
key={t.termsOfUseId}
202+
key={t.id}
203203
/* TODO: No need to use so much style names and
204204
* related logic here. It can be simplified:
205205
* "view-only" style should move to the root
@@ -259,11 +259,11 @@ export default class Terms extends React.Component {
259259
)
260260
}
261261
{
262-
loadingTermId === _.toString(selectedTerm.termsOfUseId)
262+
loadingTermId === _.toString(selectedTerm.id)
263263
&& <LoadingIndicator />
264264
}
265265
{
266-
loadingTermId !== _.toString(selectedTerm.termsOfUseId) && details
266+
loadingTermId !== _.toString(selectedTerm.id) && details
267267
&& (
268268
<TermDetails
269269
details={details}
@@ -282,7 +282,7 @@ export default class Terms extends React.Component {
282282
{
283283
!isLoadingTerms && !checkingStatus && selectedTerm && details
284284
&& !viewOnly
285-
&& loadingTermId !== _.toString(selectedTerm.termsOfUseId)
285+
&& loadingTermId !== _.toString(selectedTerm.id)
286286
&& details.agreeabilityType === 'Electronically-agreeable' ? (
287287
<div styleName="buttons">
288288
{
@@ -303,9 +303,9 @@ export default class Terms extends React.Component {
303303
: (
304304
<div>
305305
<PrimaryButton
306-
disabled={agreeingTerm === details.termsOfUseId}
306+
disabled={agreeingTerm === details.id}
307307
onClick={() => {
308-
agreeTerm(details.termsOfUseId);
308+
agreeTerm(details.id);
309309
if (this.vScrollArea) {
310310
this.vScrollArea.scrollTop = 0;
311311
}

src/shared/components/challenge-detail/Specification/SideBar/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,9 +317,9 @@ export default function SideBar({
317317
<div styleName="link-like-paragraph">
318318
{
319319
terms.map(t => (
320-
<div styleName="term" key={t.termsOfUseId}>
320+
<div styleName="term" key={t.id}>
321321
<Link
322-
to={`${challengesUrl}/terms/detail/${t.termsOfUseId}`}
322+
to={`${challengesUrl}/terms/detail/${t.id}`}
323323
>
324324
{t.title}
325325
</Link>

src/shared/containers/Terms.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,15 +211,15 @@ function mapDispatchToProps(dispatch) {
211211
},
212212
loadTermDetails: (tokens, termId) => {
213213
dispatch(actions.terms.getTermDetailsInit(termId));
214-
dispatch(actions.terms.getTermDetailsDone(termId, tokens.tokenV2));
214+
dispatch(actions.terms.getTermDetailsDone(termId, tokens.tokenV3));
215215
},
216216
getDocuSignUrl: (tokens, templateId, returnUrl) => {
217217
dispatch(actions.terms.getDocuSignUrlInit(templateId));
218-
dispatch(actions.terms.getDocuSignUrlDone(templateId, returnUrl, tokens.tokenV2));
218+
dispatch(actions.terms.getDocuSignUrlDone(templateId, returnUrl, tokens.tokenV3));
219219
},
220220
agreeTerm: (tokens, termId) => {
221221
dispatch(actions.terms.agreeTermInit(termId));
222-
dispatch(actions.terms.agreeTermDone(termId, tokens.tokenV2));
222+
dispatch(actions.terms.agreeTermDone(termId, tokens.tokenV3));
223223
},
224224
signDocu: (id) => {
225225
dispatch(termsActions.terms.signDocu(id));

src/shared/containers/challenge-detail/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ class ChallengeDetailPageContainer extends React.Component {
583583
{legacyId && (
584584
<Terms
585585
defaultTitle="Challenge Prerequisites"
586-
entity={{ type: 'challenge', id: legacyId.toString() }}
586+
entity={{ type: 'challenge', id: challengeId.toString(), terms: challenge.terms }}
587587
instanceId={this.instanceId}
588588
description="You are seeing these Terms & Conditions because you have registered to a challenge and you have to respect the terms below in order to be able to submit."
589589
register={() => {

src/shared/containers/terms-detail/index.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,15 +216,15 @@ function mapDispatchToProps(dispatch) {
216216
return {
217217
loadTermDetails: (tokens, termId) => {
218218
dispatch(actions.terms.getTermDetailsInit(termId));
219-
dispatch(actions.terms.getTermDetailsDone(termId, tokens.tokenV2, false));
219+
dispatch(actions.terms.getTermDetailsDone(termId, tokens.tokenV3, false));
220220
},
221221
getDocuSignUrl: (tokens, templateId, returnUrl) => {
222222
dispatch(actions.terms.getDocuSignUrlInit(templateId));
223-
dispatch(actions.terms.getDocuSignUrlDone(templateId, returnUrl, tokens.tokenV2));
223+
dispatch(actions.terms.getDocuSignUrlDone(templateId, returnUrl, tokens.tokenV3));
224224
},
225225
agreeTerms: (tokens, termId) => {
226226
dispatch(actions.terms.agreeTermInit(termId));
227-
dispatch(actions.terms.agreeTermDone(termId, tokens.tokenV2));
227+
dispatch(actions.terms.agreeTermDone(termId, tokens.tokenV3));
228228
},
229229
};
230230
}

src/shared/reducers/terms.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ function onAgreeTermDone(state, action) {
154154
}
155155
if (action.payload.success) {
156156
const terms = _.cloneDeep(state.terms);
157-
const term = _.find(terms, ['termsOfUseId', action.payload.termId]);
157+
const term = _.find(terms, ['id', action.payload.termId]);
158158
term.agreed = true;
159159
const selectedTerm = _.find(terms, t => !t.agreed);
160160
return {
@@ -216,7 +216,7 @@ function onCloseTermsModal(state, { payload }) {
216216
*/
217217
function onSignDocu(state, action) {
218218
const terms = _.cloneDeep(state.terms);
219-
const term = _.find(terms, ['termsOfUseId', action.payload]);
219+
const term = _.find(terms, ['id', action.payload]);
220220
term.agreed = true;
221221
const selectedTerm = _.find(terms, t => !t.agreed);
222222
return {

0 commit comments

Comments
 (0)