@@ -647,35 +647,16 @@ async function processMessage (message) {
647
647
648
648
const saveDraftContestDTO = await parsePayload ( message . payload , m2mToken )
649
649
650
- let setAssociations = true
651
-
652
650
if ( ! legacyId ) {
653
651
logger . debug ( 'Legacy ID does not exist. Will create...' )
654
652
legacyId = await createChallenge ( saveDraftContestDTO , challengeUuid , createdByUserId , message . payload . legacy , m2mToken )
655
-
653
+
656
654
await recreatePhases ( legacyId , message . payload . phases , updatedByUserId )
657
655
658
656
if ( _ . get ( message , 'payload.legacy.selfService' ) ) {
659
657
await disableTimelineNotifications ( legacyId , createdByUserId ) // disable
660
658
}
661
659
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
672
- }
673
-
674
- let challenge
675
- try {
676
- challenge = await getChallengeById ( m2mToken , legacyId )
677
- } catch ( e ) {
678
- throw new Error ( `Error getting challenge by id - Error: ${ JSON . stringify ( e ) } ` )
679
660
}
680
661
681
662
logger . debug ( 'Result from parsePayload:' )
@@ -694,15 +675,32 @@ async function processMessage (message) {
694
675
}
695
676
}
696
677
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 )
678
+ logger . info ( `Set Associations for challenge ${ legacyId } ` )
679
+ await updateMemberPayments ( legacyId , message . payload . prizeSets , updatedByUserId )
680
+ logger . info ( `Associate groups for challenge ${ legacyId } ` )
681
+ await associateChallengeGroups ( message . payload . groups , legacyId , m2mToken )
682
+ logger . info ( `Associate challenge terms for challenge ${ legacyId } ` )
683
+ await associateChallengeTerms ( message . payload . terms , legacyId , createdByUserId , updatedByUserId )
684
+ logger . info ( `set copilot for challenge ${ legacyId } ` )
685
+ await setCopilotPayment ( challengeUuid , legacyId , _ . get ( message , 'payload.prizeSets' ) , createdByUserId , updatedByUserId , m2mToken )
686
+
687
+ try {
688
+ logger . info ( `force V4 ES Feeder for the legacy challenge ${ legacyId } ` )
689
+ await helper . forceV4ESFeeder ( legacyId )
690
+ } catch ( e ) {
691
+ logger . warn ( `Failed to call V4 ES Feeder ${ JSON . stringify ( e ) } ` )
692
+ }
693
+
694
+ let challenge
695
+ try {
696
+ challenge = await getChallengeById ( m2mToken , legacyId )
697
+ } catch ( e ) {
698
+ throw new Error ( `Error getting challenge by id - Error: ${ JSON . stringify ( e ) } ` )
703
699
}
704
700
705
701
if ( message . payload . status && challenge ) {
702
+ // Whether we need to sync v4 ES again
703
+ let needSyncV4ES = false
706
704
// logger.info(`The status has changed from ${challenge.currentStatus} to ${message.payload.status}`)
707
705
if ( message . payload . status === constants . challengeStatuses . Active && challenge . currentStatus !== constants . challengeStatuses . Active ) {
708
706
logger . info ( 'Activating challenge...' )
@@ -712,6 +710,7 @@ async function processMessage (message) {
712
710
await metadataService . createOrUpdateMetadata ( legacyId , 9 , 'On' , createdByUserId ) // autopilot
713
711
// Repost all challenge resource on Kafka so they will get created on legacy by the legacy-challenge-resource-processor
714
712
await rePostResourcesOnKafka ( challengeUuid , m2mToken )
713
+ needSyncV4ES = true
715
714
}
716
715
if ( message . payload . status === constants . challengeStatuses . Completed && challenge . currentStatus !== constants . challengeStatuses . Completed ) {
717
716
if ( message . payload . task . isTask ) {
@@ -722,6 +721,7 @@ async function processMessage (message) {
722
721
const winnerId = _ . find ( message . payload . winners , winner => winner . placement === 1 ) . userId
723
722
logger . info ( `Will close the challenge with ID ${ legacyId } . Winner ${ winnerId } !` )
724
723
await closeChallenge ( legacyId , winnerId )
724
+ needSyncV4ES = true
725
725
} else {
726
726
logger . info ( 'Challenge type is not a task.. Skip closing challenge...' )
727
727
}
@@ -730,15 +730,18 @@ async function processMessage (message) {
730
730
if ( ! _ . get ( message . payload , 'task.isTask' ) ) {
731
731
const numOfReviewers = 2
732
732
await syncChallengePhases ( legacyId , message . payload . phases , createdByUserId , _ . get ( message , 'payload.legacy.selfService' ) , numOfReviewers )
733
+ needSyncV4ES = true
733
734
} else {
734
735
logger . info ( 'Will skip syncing phases as the challenge is a task...' )
735
736
}
736
- }
737
-
738
- try {
739
- await helper . forceV4ESFeeder ( legacyId )
740
- } catch ( e ) {
741
- logger . warn ( `Failed to call V4 ES Feeder ${ JSON . stringify ( e ) } ` )
737
+ if ( needSyncV4ES ) {
738
+ try {
739
+ logger . info ( `Resync V4 ES for the legacy challenge ${ legacyId } ` )
740
+ await helper . forceV4ESFeeder ( legacyId )
741
+ } catch ( e ) {
742
+ logger . warn ( `Resync V4 - Failed to call V4 ES Feeder ${ JSON . stringify ( e ) } ` )
743
+ }
744
+ }
742
745
}
743
746
}
744
747
0 commit comments