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

Commit 06936fc

Browse files
author
James Cori
committed
Merge branch 'develop'
2 parents 674b430 + 719a4de commit 06936fc

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

src/services/ProcessorService.js

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,7 @@ async function closeChallenge (challengeId, winnerId) {
388388
/**
389389
* Process create challenge message
390390
* @param {Object} message the kafka message
391+
* @returns {Number} the created legacy id
391392
*/
392393
async function processCreate (message) {
393394
if (message.payload.status === constants.challengeStatuses.New) {
@@ -432,6 +433,7 @@ async function processCreate (message) {
432433
}
433434
await timelineService.enableTimelineNotifications(newChallenge.body.result.content.id, _.get(message, 'payload.createdBy'))
434435
logger.debug('End of processCreate')
436+
return newChallenge.body.result.content.id
435437
} catch (e) {
436438
logger.error('processCreate Catch', e)
437439
throw e
@@ -489,21 +491,22 @@ processCreate.schema = {
489491
* @param {Object} message the kafka message
490492
*/
491493
async function processUpdate (message) {
494+
let legacyId = message.payload.legacyId
492495
if (message.payload.status === constants.challengeStatuses.New) {
493496
logger.debug(`Will skip creating on legacy as status is ${constants.challengeStatuses.New}`)
494497
return
495-
} else if (!message.payload.legacyId) {
498+
} else if (!legacyId) {
496499
logger.debug('Legacy ID does not exist. Will create...')
497-
await processCreate(message)
500+
legacyId = await processCreate(message)
498501
}
499502
const m2mToken = await helper.getM2MToken()
500503

501504
let challenge
502505
try {
503506
// ensure challenge existed
504-
challenge = await getChallengeById(m2mToken, message.payload.legacyId)
507+
challenge = await getChallengeById(m2mToken, legacyId)
505508
if (!challenge) {
506-
throw new Error(`Could not find challenge ${message.payload.legacyId}`)
509+
throw new Error(`Could not find challenge ${legacyId}`)
507510
}
508511
} catch (e) {
509512
// postponne kafka event
@@ -527,24 +530,23 @@ async function processUpdate (message) {
527530
// return
528531
}
529532

530-
const v4GroupIds = await groupService.getGroupsForChallenge(message.payload.legacyId)
533+
const v4GroupIds = await groupService.getGroupsForChallenge(legacyId)
531534
logger.info(`GroupIDs Found in Informix: ${JSON.stringify(v4GroupIds)}`)
532-
// const v4TermsIds = await termsService.getTermsForChallenge(message.payload.legacyId)
533535

534536
const saveDraftContestDTO = await parsePayload(message.payload, m2mToken, false, v4GroupIds)
535537
// logger.debug('Parsed Payload', saveDraftContestDTO)
536538
try {
537539
try {
538540
if (challenge) {
539-
await helper.putRequest(`${config.V4_CHALLENGE_API_URL}/${message.payload.legacyId}`, { param: _.omit(saveDraftContestDTO, ['groupsToBeAdded', 'groupsToBeDeleted']) }, m2mToken)
541+
await helper.putRequest(`${config.V4_CHALLENGE_API_URL}/${legacyId}`, { param: _.omit(saveDraftContestDTO, ['groupsToBeAdded', 'groupsToBeDeleted']) }, m2mToken)
540542
}
541543
} catch (e) {
542544
logger.warn('Failed to update the challenge via the V4 API')
543545
logger.error(e)
544546
}
545-
await associateChallengeGroups(saveDraftContestDTO.groupsToBeAdded, saveDraftContestDTO.groupsToBeDeleted, message.payload.legacyId)
546-
await associateChallengeTerms(message.payload.terms, message.payload.legacyId, _.get(message, 'payload.createdBy'), _.get(message, 'payload.updatedBy') || _.get(message, 'payload.createdBy'))
547-
await setCopilotPayment(message.payload.id, message.payload.legacyId, _.get(message, 'payload.prizeSets'), _.get(message, 'payload.createdBy'), _.get(message, 'payload.updatedBy') || _.get(message, 'payload.createdBy'), m2mToken)
547+
await associateChallengeGroups(saveDraftContestDTO.groupsToBeAdded, saveDraftContestDTO.groupsToBeDeleted, legacyId)
548+
await associateChallengeTerms(message.payload.terms, legacyId, _.get(message, 'payload.createdBy'), _.get(message, 'payload.updatedBy') || _.get(message, 'payload.createdBy'))
549+
await setCopilotPayment(message.payload.id, legacyId, _.get(message, 'payload.prizeSets'), _.get(message, 'payload.createdBy'), _.get(message, 'payload.updatedBy') || _.get(message, 'payload.createdBy'), m2mToken)
548550

549551
// Update metadata in IFX
550552
if (message.payload.metadata && message.payload.metadata.length > 0) {
@@ -565,7 +567,7 @@ async function processUpdate (message) {
565567
}
566568
}
567569
try {
568-
await metadataService.createOrUpdateMetadata(message.payload.legacyId, constants.supportedMetadata[metadataKey], entry.value, _.get(message, 'payload.updatedBy') || _.get(message, 'payload.createdBy'))
570+
await metadataService.createOrUpdateMetadata(legacyId, constants.supportedMetadata[metadataKey], entry.value, _.get(message, 'payload.updatedBy') || _.get(message, 'payload.createdBy'))
569571
} catch (e) {
570572
logger.warn(`Failed to set ${metadataKey} (${constants.supportedMetadata[metadataKey]})`)
571573
}
@@ -576,7 +578,7 @@ async function processUpdate (message) {
576578
// logger.info(`The status has changed from ${challenge.currentStatus} to ${message.payload.status}`)
577579
if (message.payload.status === constants.challengeStatuses.Active && challenge.currentStatus !== constants.challengeStatuses.Active) {
578580
logger.info('Activating challenge...')
579-
await activateChallenge(message.payload.legacyId)
581+
await activateChallenge(legacyId)
580582
logger.info('Activated!')
581583
}
582584
if (message.payload.status === constants.challengeStatuses.Completed && challenge.currentStatus !== constants.challengeStatuses.Completed) {
@@ -586,15 +588,15 @@ async function processUpdate (message) {
586588
throw new Error('Cannot close challenge without winners')
587589
}
588590
const winnerId = _.find(message.payload.winners, winner => winner.placement === 1).userId
589-
logger.info(`Will close the challenge with ID ${message.payload.legacyId}. Winner ${winnerId}!`)
590-
await closeChallenge(message.payload.legacyId, winnerId)
591+
logger.info(`Will close the challenge with ID ${legacyId}. Winner ${winnerId}!`)
592+
await closeChallenge(legacyId, winnerId)
591593
} else {
592594
logger.info('Challenge type is not a task.. Skip closing challenge...')
593595
}
594596
}
595597
}
596598
try {
597-
await helper.forceV4ESFeeder(message.payload.legacyId)
599+
await helper.forceV4ESFeeder(legacyId)
598600
} catch (e) {
599601
logger.warn('Failed to call V4 ES Feeder')
600602
}

0 commit comments

Comments
 (0)