Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit cfea9a6

Browse files
Merge pull request #80 from topcoder-platform/develop
[Next Release] Fix challenge associations data loss
2 parents 2bbd2a1 + c71b81c commit cfea9a6

File tree

1 file changed

+28
-9
lines changed

1 file changed

+28
-9
lines changed

Diff for: src/services/ProcessorService.js

+28-9
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,11 @@ async function getV5Terms (v5TermsId, m2mToken) {
199199
*/
200200
async function associateChallengeGroups (v5groups, legacyId, m2mToken) {
201201
const { groupsToBeAdded, groupsToBeDeleted } = await getGroups(v5groups, legacyId, m2mToken)
202-
202+
logger.info(`Groups to add to challenge: ${legacyId}: ${JSON.stringify(groupsToBeAdded)}`)
203203
for (const group of groupsToBeAdded) {
204204
await groupService.addGroupToChallenge(legacyId, group)
205205
}
206+
logger.info(`Groups to remove from challenge: ${legacyId}: ${JSON.stringify(groupsToBeDeleted)}`)
206207
for (const group of groupsToBeDeleted) {
207208
await groupService.removeGroupFromChallenge(legacyId, group)
208209
}
@@ -224,10 +225,10 @@ async function associateChallengeTerms (v5Terms, legacyChallengeId, createdBy, u
224225
const standardTerms = _.find(v5Terms, e => e.id === config.V5_TERMS_STANDARD_ID)
225226
const legacyStandardTerms = _.find(legacyTermsArray, e => _.toNumber(e.id) === _.toNumber(config.LEGACY_TERMS_STANDARD_ID))
226227

227-
logger.debug(`NDA: ${config.V5_TERMS_NDA_ID} - ${JSON.stringify(nda)}`)
228-
logger.debug(`Standard Terms: ${config.V5_TERMS_STANDARD_ID} - ${JSON.stringify(standardTerms)}`)
229-
logger.debug(`Legacy NDA: ${JSON.stringify(legacyNDA)}`)
230-
logger.debug(`Legacy Standard Terms: ${JSON.stringify(legacyStandardTerms)}`)
228+
// logger.debug(`NDA: ${config.V5_TERMS_NDA_ID} - ${JSON.stringify(nda)}`)
229+
// logger.debug(`Standard Terms: ${config.V5_TERMS_STANDARD_ID} - ${JSON.stringify(standardTerms)}`)
230+
// logger.debug(`Legacy NDA: ${JSON.stringify(legacyNDA)}`)
231+
// logger.debug(`Legacy Standard Terms: ${JSON.stringify(legacyStandardTerms)}`)
231232

232233
const m2mToken = await helper.getM2MToken()
233234
if (standardTerms && standardTerms.id && !legacyStandardTerms) {
@@ -646,13 +647,28 @@ async function processMessage (message) {
646647

647648
const saveDraftContestDTO = await parsePayload(message.payload, m2mToken)
648649

650+
let setAssociations = true
651+
649652
if (!legacyId) {
650653
logger.debug('Legacy ID does not exist. Will create...')
651654
legacyId = await createChallenge(saveDraftContestDTO, challengeUuid, createdByUserId, message.payload.legacy, m2mToken)
655+
652656
await recreatePhases(legacyId, message.payload.phases, updatedByUserId)
657+
653658
if (_.get(message, 'payload.legacy.selfService')) {
654659
await disableTimelineNotifications(legacyId, createdByUserId) // disable
655660
}
661+
662+
logger.info(`Update Member payments for challenge ${legacyId}`)
663+
await updateMemberPayments(legacyId, message.payload.prizeSets, updatedByUserId)
664+
logger.info(`Associate groups for challenge ${legacyId}`)
665+
await associateChallengeGroups(message.payload.groups, legacyId, m2mToken)
666+
logger.info(`Associate challenge terms for challenge ${legacyId}`)
667+
await associateChallengeTerms(message.payload.terms, legacyId, createdByUserId, updatedByUserId)
668+
logger.info(`set copilot for challenge ${legacyId}`)
669+
await setCopilotPayment(challengeUuid, legacyId, _.get(message, 'payload.prizeSets'), createdByUserId, updatedByUserId, m2mToken)
670+
671+
setAssociations = false
656672
}
657673

658674
let challenge
@@ -678,10 +694,13 @@ async function processMessage (message) {
678694
}
679695
}
680696

681-
await updateMemberPayments(legacyId, message.payload.prizeSets, updatedByUserId)
682-
await associateChallengeGroups(message.payload.groups, legacyId, m2mToken)
683-
await associateChallengeTerms(message.payload.terms, legacyId, createdByUserId, updatedByUserId)
684-
await setCopilotPayment(challengeUuid, legacyId, _.get(message, 'payload.prizeSets'), createdByUserId, updatedByUserId, m2mToken)
697+
if (setAssociations) {
698+
logger.info(`Set Associations for challenge ${legacyId}`)
699+
await updateMemberPayments(legacyId, message.payload.prizeSets, updatedByUserId)
700+
await associateChallengeGroups(message.payload.groups, legacyId, m2mToken)
701+
await associateChallengeTerms(message.payload.terms, legacyId, createdByUserId, updatedByUserId)
702+
await setCopilotPayment(challengeUuid, legacyId, _.get(message, 'payload.prizeSets'), createdByUserId, updatedByUserId, m2mToken)
703+
}
685704

686705
if (message.payload.status && challenge) {
687706
// logger.info(`The status has changed from ${challenge.currentStatus} to ${message.payload.status}`)

0 commit comments

Comments
 (0)