diff --git a/src/services/challengeService.js b/src/services/challengeService.js index e9d67c7..eda00e3 100644 --- a/src/services/challengeService.js +++ b/src/services/challengeService.js @@ -35,6 +35,21 @@ const challengePropertiesToOmitFromDynamo = [ ] async function save (challenge) { + // Check if challenge is already created + if (!challenge.id) { + try { + const challengesInES = await getChallengeFromES(challenge.legacyId) + if (challengesInES.length === 1) { + logger.debug(`PREVENT DUPLICATE CHALLENGE - ${challenge.legacyId} - V5 already exists ${challengesInES[0].challengeId}`) + challenge.id = challengesInES[0].challengeId + } else if (challengesInES.length > 1) { + // There are more than 1 duplicate challenges + logger.warn(`Challenge ${challenge.legacyId} has ${challengesInES.length} duplicates - ${challengesInES.toString()}`) + } + } catch (e) { + logger.error(`Error fetching V5 challenge ${JSON.stringify(e)}`) + } + } // logger.debug(`Save - ${challenge.id} - ${challenge.legacyId} - ${JSON.stringify(challenge.prizeSets)}`) if (challenge.id) { // logger.debug(`Update Challenge ${challenge.id}`)