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

Commit fd2f9f1

Browse files
authored
Merge pull request #41 from topcoder-platform/scheduling-api-changes
ignore timeline fields if legacy.useSchedulingAPI is set
2 parents 88c0bd4 + 0679ebb commit fd2f9f1

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/services/syncService.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,21 @@ async function syncLegacyId (legacyId, force) {
4545
* @param {Number} legacyId
4646
*/
4747
async function processChallenge (legacyId, challengeListing, challengeDetails) {
48+
const timelineScheduleFields = ['phases', 'startDate', 'endDate', 'currentPhaseNames', 'registrationStartDate', 'registrationEndDate', 'submissionStartDate', 'submissionEndDate']
4849
const v5ChallengeObjectFromV4 = await challengeService.buildV5Challenge(legacyId, challengeListing, challengeDetails)
4950
const [v5ChallengeFromAPI] = await challengeService.getChallengeFromV5API(legacyId)
5051

52+
// Timeline fields are managed by the V5 Scheduler instead of the legacy autopilot
53+
if (_.get(v5ChallengeFromAPI, 'legacy.useSchedulingAPI') === true) {
54+
_.set(v5ChallengeObjectFromV4, 'legacy.useSchedulingAPI', true)
55+
_.each(timelineScheduleFields, (prop) => {
56+
_.unset(v5ChallengeObjectFromV4, prop)
57+
})
58+
}
59+
60+
// logger.debug(`V5 Object Built from V4: ${JSON.stringify(v5ChallengeObjectFromV4)}`)
61+
// logger.debug(`V5 Object from API: ${JSON.stringify(v5ChallengeFromAPI)}`)
62+
5163
const v4StatusNumber = challengeStatusOrders[_.toLower(v5ChallengeObjectFromV4.status)] || challengeStatusOrders.cancelled
5264
const v5StatusNumber = challengeStatusOrders[_.toLower(v5ChallengeFromAPI.status)] || challengeStatusOrders.cancelled
5365

0 commit comments

Comments
 (0)