@@ -67,23 +67,33 @@ async function associateChallengeGroups (toBeAdded = [], toBeDeleted = [], legac
6767 * @param {String|Number } legacyChallengeId the legacy challenge ID
6868 */
6969async function associateChallengeTerms ( v5Terms , legacyChallengeId , createdBy , updatedBy ) {
70- const nda = _ . find ( v5Terms , e => e . id === config . V5_TERMS_NDA_ID )
7170 const legacyTermsArray = await termsService . getTermsForChallenge ( legacyChallengeId )
71+ const nda = _ . find ( v5Terms , e => e . id === config . V5_TERMS_NDA_ID )
7272 const legacyNDA = _ . find ( legacyTermsArray , e => _ . toNumber ( e . id ) === _ . toNumber ( config . LEGACY_TERMS_NDA_ID ) )
7373
74- if ( nda && nda . id && ! legacyNDA ) {
75- logger . debug ( 'Associate Challenge Terms - v5 NDA exist, not in legacy. Adding to Legacy.' )
76- const m2mToken = await helper . getM2MToken ( )
77- const v5Term = await getV5Terms ( nda . id , m2mToken )
78- return termsService . addTermsToChallenge ( legacyChallengeId , v5Term . legacyId , config . LEGACY_SUBMITTER_ROLE_ID , createdBy , updatedBy )
74+ const standardTerms = _ . find ( v5Terms , e => e . id === config . V5_TERMS_STANDARD_ID )
75+ const legacyStandardTerms = _ . find ( legacyTermsArray , e => _ . toNumber ( e . id ) === _ . toNumber ( config . LEGACY_TERMS_STANDARD_ID ) )
76+
77+ const m2mToken = await helper . getM2MToken ( )
78+ if ( standardTerms && standardTerms . id && ! legacyStandardTerms ) {
79+ logger . debug ( 'Associate Challenge Terms - v5 Standard Terms exist, not in legacy. Adding to Legacy.' )
80+ const v5StandardTerm = await getV5Terms ( standardTerms . id , m2mToken )
81+ await termsService . addTermsToChallenge ( legacyChallengeId , v5StandardTerm . legacyId , config . LEGACY_SUBMITTER_ROLE_ID , createdBy , updatedBy )
82+ } else if ( ! standardTerms && legacyStandardTerms && legacyStandardTerms . id ) {
83+ logger . debug ( 'Associate Challenge Terms - Legacy NDA exist, not in V5. Removing from Legacy.' )
84+ await termsService . removeTermsFromChallenge ( legacyChallengeId , legacyStandardTerms . id , config . LEGACY_SUBMITTER_ROLE_ID )
7985 }
8086
81- if ( ! nda && legacyNDA && legacyNDA . id ) {
87+ if ( nda && nda . id && ! legacyNDA ) {
88+ logger . debug ( 'Associate Challenge Terms - v5 NDA exist, not in legacy. Adding to Legacy.' )
89+ const v5NDATerm = await getV5Terms ( nda . id , m2mToken )
90+ await termsService . addTermsToChallenge ( legacyChallengeId , v5NDATerm . legacyId , config . LEGACY_SUBMITTER_ROLE_ID , createdBy , updatedBy , true )
91+ } else if ( ! nda && legacyNDA && legacyNDA . id ) {
8292 logger . debug ( 'Associate Challenge Terms - Legacy NDA exist, not in V5. Removing from Legacy.' )
83- return termsService . removeTermsFromChallenge ( legacyChallengeId , legacyNDA . id , config . LEGACY_SUBMITTER_ROLE_ID )
93+ await termsService . removeTermsFromChallenge ( legacyChallengeId , legacyNDA . id , config . LEGACY_SUBMITTER_ROLE_ID , true )
8494 }
8595
86- logger . debug ( 'Associate Challenge Terms - Nothing to Do' )
96+ // logger.debug('Associate Challenge Terms - Nothing to Do')
8797}
8898
8999/**
@@ -203,7 +213,7 @@ async function parsePayload (payload, m2mToken, isCreated = true, informixGroupI
203213 const data = {
204214 ...legacyTrackInfo ,
205215 name : payload . name ,
206- reviewType : _ . get ( payload , 'legacy.reviewType' ) ,
216+ reviewType : _ . get ( payload , 'legacy.reviewType' , 'INTERNAL' ) ,
207217 projectId,
208218 status : payload . status
209219 }
@@ -357,6 +367,12 @@ async function processCreate (message) {
357367 logger . debug ( 'processCreate :: beforeTry' )
358368 try {
359369 const newChallenge = await helper . postRequest ( `${ config . V4_CHALLENGE_API_URL } ` , { param : _ . omit ( saveDraftContestDTO , [ 'groupsToBeAdded' , 'groupsToBeDeleted' ] ) } , m2mToken )
370+
371+ let forumId = 0
372+ if ( message . payload . legacy && message . payload . legacy . forumId ) {
373+ forumId = message . payload . legacy . forumId
374+ }
375+ forumId = _ . get ( newChallenge , 'body.result.content.forumId' , forumId )
360376 await helper . forceV4ESFeeder ( newChallenge . body . result . content . id )
361377 await associateChallengeGroups ( saveDraftContestDTO . groupsToBeAdded , saveDraftContestDTO . groupsToBeDeleted , newChallenge . body . result . content . id )
362378 // await associateChallengeTerms(saveDraftContestDTO.termsToBeAdded, saveDraftContestDTO.termsToBeRemoved, newChallenge.body.result.content.id)
@@ -368,7 +384,7 @@ async function processCreate (message) {
368384 subTrack : saveDraftContestDTO . subTrack ,
369385 isTask : saveDraftContestDTO . task || false ,
370386 directProjectId : newChallenge . body . result . content . projectId ,
371- forumId : _ . get ( newChallenge , 'body.result.content.forumId' , message . payload . legacy . forumId )
387+ forumId
372388 } ,
373389 legacyId : newChallenge . body . result . content . id
374390 } , m2mToken )
0 commit comments