Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit b9757e3

Browse files
Prevent duplicate v5 challenge creation
1 parent 848d6b6 commit b9757e3

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/services/challengeService.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,21 @@ const challengePropertiesToOmitFromDynamo = [
3535
]
3636

3737
async function save (challenge) {
38+
// Check if challenge is already created
39+
if (!challenge.id) {
40+
try {
41+
const challengesInES = await getChallengeFromES(challenge.legacyId)
42+
if (challengesInES.length === 1) {
43+
logger.debug(`PREVENT DUPLICATE CHALLENGE - ${challenge.legacyId} - V5 already exists ${challengesInES[0].challengeId}`)
44+
challenge.id = challengesInES[0].challengeId
45+
} else if (challengesInES.length > 1) {
46+
// There are more than 1 duplicate challenges
47+
logger.warn(`Challenge ${challenge.legacyId} has ${challengesInES.length} duplicates - ${challengesInES.toString()}`)
48+
}
49+
} catch (e) {
50+
logger.error(`Error fetching V5 challenge ${JSON.stringify(e)}`)
51+
}
52+
}
3853
// logger.debug(`Save - ${challenge.id} - ${challenge.legacyId} - ${JSON.stringify(challenge.prizeSets)}`)
3954
if (challenge.id) {
4055
// logger.debug(`Update Challenge ${challenge.id}`)

0 commit comments

Comments
 (0)