@@ -36,7 +36,7 @@ async function syncChallengePhases (legacyId, v5Phases) {
36
36
( ! v5Equivalent . isOpen && _ . toInteger ( phase . phase_status_id ) === constants . PhaseStatusTypes . Open ) ) {
37
37
const newStatus = v5Equivalent . isOpen
38
38
? constants . PhaseStatusTypes . Open
39
- : ( new Date ( ) . getTime ( ) <= new Date ( v5Equivalent . scheduledStartDate ) . getTime ( ) ? constants . PhaseStatusTypes . Scheduled : constants . PhaseStatusTypes . Closed )
39
+ : ( new Date ( ) . getTime ( ) <= new Date ( v5Equivalent . scheduledEndDate ) . getTime ( ) ? constants . PhaseStatusTypes . Scheduled : constants . PhaseStatusTypes . Closed )
40
40
// update phase
41
41
logger . debug ( `Will update phase ${ phase . project_phase_id } /${ v5Equivalent . name } to duration ${ v5Equivalent . duration * 1000 } milli` )
42
42
await timelineService . updatePhase (
@@ -467,6 +467,18 @@ async function closeChallenge (challengeId, winnerId) {
467
467
return helper . postRequest ( `${ config . V4_CHALLENGE_API_URL } /${ challengeId } /close?winnerId=${ winnerId } ` , null , m2mToken )
468
468
}
469
469
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
+
470
482
/**
471
483
* Process create challenge message
472
484
* @param {Object } message the kafka message
@@ -515,10 +527,7 @@ async function processCreate (message) {
515
527
legacyId : newChallenge . body . result . content . id
516
528
} , m2mToken )
517
529
// 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 )
522
531
await timelineService . enableTimelineNotifications ( newChallenge . body . result . content . id , _ . get ( message , 'payload.createdBy' ) )
523
532
logger . debug ( 'End of processCreate' )
524
533
return newChallenge . body . result . content . id
@@ -672,6 +681,8 @@ async function processUpdate (message) {
672
681
logger . info ( 'Activating challenge...' )
673
682
await activateChallenge ( legacyId )
674
683
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 )
675
686
}
676
687
if ( message . payload . status === constants . challengeStatuses . Completed && challenge . currentStatus !== constants . challengeStatuses . Completed ) {
677
688
if ( message . payload . task . isTask ) {
@@ -687,8 +698,11 @@ async function processUpdate (message) {
687
698
}
688
699
}
689
700
}
690
-
691
- await syncChallengePhases ( message . payload . legacyId , message . payload . phases )
701
+ if ( ! _ . get ( message . payload , 'task.isTask' ) ) {
702
+ await syncChallengePhases ( message . payload . legacyId , message . payload . phases )
703
+ } else {
704
+ logger . info ( 'Will skip syncing phases as the challenge is a task...' )
705
+ }
692
706
await updateMemberPayments ( message . payload . legacyId , message . payload . prizeSets , _ . get ( message , 'payload.updatedBy' ) || _ . get ( message , 'payload.createdBy' ) )
693
707
await associateChallengeGroups ( saveDraftContestDTO . groupsToBeAdded , saveDraftContestDTO . groupsToBeDeleted , legacyId )
694
708
await associateChallengeTerms ( message . payload . terms , legacyId , _ . get ( message , 'payload.createdBy' ) , _ . get ( message , 'payload.updatedBy' ) || _ . get ( message , 'payload.createdBy' ) )
0 commit comments