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

Prevent status changes #43

Merged
merged 2 commits into from
Jan 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ const prizeSetTypes = {
CheckpointPrizes: 'checkpoint'
}

const challengeStatusOrders = {
draft: 0,
active: 1,
completed: 2,
deleted: 2,
cancelled: 2
}

module.exports = {
prizeSetTypes
prizeSetTypes,
challengeStatusOrders
}
12 changes: 10 additions & 2 deletions src/services/syncService.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const challengeMigrationStatusService = require('../services/challengeMigrationS
const migrationService = require('../services/migrationService')
const challengeIfxService = require('../services/challengeInformixService')
const { V4_TRACKS } = require('../util/conversionMappings')
const { challengeStatusOrders } = require('../constants')

async function syncLegacyId (legacyId, force) {
// const legacyId = queuedChallenges.items[i].legacyId
Expand Down Expand Up @@ -47,8 +48,15 @@ async function processChallenge (legacyId, challengeListing, challengeDetails) {
const v5ChallengeObjectFromV4 = await challengeService.buildV5Challenge(legacyId, challengeListing, challengeDetails)
const [v5ChallengeFromAPI] = await challengeService.getChallengeFromV5API(legacyId)

// logger.debug(`V5 Object Built from V4: ${JSON.stringify(v5ChallengeObjectFromV4)}`)
// logger.debug(`V5 Object from API: ${JSON.stringify(v5ChallengeFromAPI)}`)
const v4StatusNumber = challengeStatusOrders[_.toLower(v5ChallengeObjectFromV4.status)] || challengeStatusOrders.cancelled
const v5StatusNumber = challengeStatusOrders[_.toLower(v5ChallengeFromAPI.status)] || challengeStatusOrders.cancelled

logger.debug(`v4 Status Number: ${v4StatusNumber} - v5 Status Number: ${v5StatusNumber}`)

if (v4StatusNumber < v5StatusNumber) {
logger.warn(`Status in v4 is: ${_.toLower(v5ChallengeObjectFromV4.status)} - Status in v5 is: ${_.toLower(v5ChallengeFromAPI.status)} NOT updating v5`)
v5ChallengeObjectFromV4.status = v5ChallengeFromAPI.status
}

const additionalInformation = {}

Expand Down