@@ -699,6 +699,8 @@ async function processMessage (message) {
699
699
}
700
700
701
701
if ( message . payload . status && challenge ) {
702
+ // Whether we need to sync v4 ES again
703
+ let needSyncV4ES = false
702
704
// logger.info(`The status has changed from ${challenge.currentStatus} to ${message.payload.status}`)
703
705
if ( message . payload . status === constants . challengeStatuses . Active && challenge . currentStatus !== constants . challengeStatuses . Active ) {
704
706
logger . info ( 'Activating challenge...' )
@@ -708,6 +710,7 @@ async function processMessage (message) {
708
710
await metadataService . createOrUpdateMetadata ( legacyId , 9 , 'On' , createdByUserId ) // autopilot
709
711
// Repost all challenge resource on Kafka so they will get created on legacy by the legacy-challenge-resource-processor
710
712
await rePostResourcesOnKafka ( challengeUuid , m2mToken )
713
+ needSyncV4ES = true
711
714
}
712
715
if ( message . payload . status === constants . challengeStatuses . Completed && challenge . currentStatus !== constants . challengeStatuses . Completed ) {
713
716
if ( message . payload . task . isTask ) {
@@ -718,6 +721,7 @@ async function processMessage (message) {
718
721
const winnerId = _ . find ( message . payload . winners , winner => winner . placement === 1 ) . userId
719
722
logger . info ( `Will close the challenge with ID ${ legacyId } . Winner ${ winnerId } !` )
720
723
await closeChallenge ( legacyId , winnerId )
724
+ needSyncV4ES = true
721
725
} else {
722
726
logger . info ( 'Challenge type is not a task.. Skip closing challenge...' )
723
727
}
@@ -726,9 +730,18 @@ async function processMessage (message) {
726
730
if ( ! _ . get ( message . payload , 'task.isTask' ) ) {
727
731
const numOfReviewers = 2
728
732
await syncChallengePhases ( legacyId , message . payload . phases , createdByUserId , _ . get ( message , 'payload.legacy.selfService' ) , numOfReviewers )
733
+ needSyncV4ES = true
729
734
} else {
730
735
logger . info ( 'Will skip syncing phases as the challenge is a task...' )
731
736
}
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
+ }
732
745
}
733
746
}
734
747
0 commit comments