@@ -467,6 +467,18 @@ async function closeChallenge (challengeId, winnerId) {
467467 return helper . postRequest ( `${ config . V4_CHALLENGE_API_URL } /${ challengeId } /close?winnerId=${ winnerId } ` , null , m2mToken )
468468}
469469
470+ /**
471+ * Repost challenge resources on kafka
472+ * @param {String } challengeUuid the V5 challenge UUID
473+ * @param {String } m2mToken the m2m token
474+ */
475+ async function rePostResourcesOnKafka ( challengeUuid , m2mToken ) {
476+ const challengeResourcesResponse = await helper . getRequest ( `${ config . V5_RESOURCES_API_URL } ?challengeId=${ challengeUuid } &perPage=100` , m2mToken )
477+ for ( const resource of ( challengeResourcesResponse . body || [ ] ) ) {
478+ await helper . postBusEvent ( config . RESOURCE_CREATE_TOPIC , _ . pick ( resource , [ 'id' , 'challengeId' , 'memberId' , 'memberHandle' , 'roleId' , 'created' , 'createdBy' , 'updated' , 'updatedBy' , 'legacyId' ] ) )
479+ }
480+ }
481+
470482/**
471483 * Process create challenge message
472484 * @param {Object } message the kafka message
@@ -515,10 +527,7 @@ async function processCreate (message) {
515527 legacyId : newChallenge . body . result . content . id
516528 } , m2mToken )
517529 // Repost all challenge resource on Kafka so they will get created on legacy by the legacy-challenge-resource-processor
518- const challengeResourcesResponse = await helper . getRequest ( `${ config . V5_RESOURCES_API_URL } ?challengeId=${ challengeUuid } &perPage=100` , m2mToken )
519- for ( const resource of ( challengeResourcesResponse . body || [ ] ) ) {
520- await helper . postBusEvent ( config . RESOURCE_CREATE_TOPIC , _ . pick ( resource , [ 'id' , 'challengeId' , 'memberId' , 'memberHandle' , 'roleId' , 'created' , 'createdBy' , 'updated' , 'updatedBy' , 'legacyId' ] ) )
521- }
530+ await rePostResourcesOnKafka ( challengeUuid , m2mToken )
522531 await timelineService . enableTimelineNotifications ( newChallenge . body . result . content . id , _ . get ( message , 'payload.createdBy' ) )
523532 logger . debug ( 'End of processCreate' )
524533 return newChallenge . body . result . content . id
@@ -672,6 +681,8 @@ async function processUpdate (message) {
672681 logger . info ( 'Activating challenge...' )
673682 await activateChallenge ( legacyId )
674683 logger . info ( 'Activated!' )
684+ // Repost all challenge resource on Kafka so they will get created on legacy by the legacy-challenge-resource-processor
685+ await rePostResourcesOnKafka ( message . payload . id , m2mToken )
675686 }
676687 if ( message . payload . status === constants . challengeStatuses . Completed && challenge . currentStatus !== constants . challengeStatuses . Completed ) {
677688 if ( message . payload . task . isTask ) {
0 commit comments