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

Commit fbd030e

Browse files
prevent incorrect challenge status changes
1 parent 3796e1c commit fbd030e

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/constants.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ const prizeSetTypes = {
99
CheckpointPrizes: 'checkpoint'
1010
}
1111

12+
const challengeStatusOrders = {
13+
draft: 0,
14+
active: 1,
15+
completed: 2,
16+
deleted: 2,
17+
cancelled: 2
18+
}
19+
1220
module.exports = {
13-
prizeSetTypes
21+
prizeSetTypes,
22+
challengeStatusOrders
1423
}

src/services/syncService.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const challengeMigrationStatusService = require('../services/challengeMigrationS
88
const migrationService = require('../services/migrationService')
99
const challengeIfxService = require('../services/challengeInformixService')
1010
const { V4_TRACKS } = require('../util/conversionMappings')
11+
const { challengeStatusOrders } = require('../constants')
1112

1213
async function syncLegacyId (legacyId, force) {
1314
// const legacyId = queuedChallenges.items[i].legacyId
@@ -47,6 +48,13 @@ async function processChallenge (legacyId, challengeListing, challengeDetails) {
4748
const v5ChallengeObjectFromV4 = await challengeService.buildV5Challenge(legacyId, challengeListing, challengeDetails)
4849
const [v5ChallengeFromAPI] = await challengeService.getChallengeFromV5API(legacyId)
4950

51+
const v4StatusOrder = challengeStatusOrders[_.toLower(v5ChallengeObjectFromV4.status)] || challengeStatusOrders.cancelled
52+
const v5StatusOrder = challengeStatusOrders[_.toLower(v5ChallengeFromAPI.status)] || challengeStatusOrders.cancelled
53+
54+
if (v4StatusOrder < v5StatusOrder) {
55+
v5ChallengeObjectFromV4.status = v5ChallengeFromAPI.status
56+
}
57+
5058
// logger.debug(`V5 Object Built from V4: ${JSON.stringify(v5ChallengeObjectFromV4)}`)
5159
// logger.debug(`V5 Object from API: ${JSON.stringify(v5ChallengeFromAPI)}`)
5260

0 commit comments

Comments
 (0)