From 06ea632109292f0b4c5fb7a8dd61b6a5c064e62c Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Sun, 24 Jan 2021 17:08:10 +0200 Subject: [PATCH] ignore timeline fields if legacy.useSchedulingAPI is set --- src/services/syncService.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/services/syncService.js b/src/services/syncService.js index 0c6a857..7d72f4f 100644 --- a/src/services/syncService.js +++ b/src/services/syncService.js @@ -44,9 +44,18 @@ async function syncLegacyId (legacyId, force) { * @param {Number} legacyId */ async function processChallenge (legacyId, challengeListing, challengeDetails) { + const timelineScheduleFields = ['phases', 'startDate', 'endDate', 'currentPhaseNames', 'registrationStartDate', 'registrationEndDate', 'submissionStartDate', 'submissionEndDate'] const v5ChallengeObjectFromV4 = await challengeService.buildV5Challenge(legacyId, challengeListing, challengeDetails) const [v5ChallengeFromAPI] = await challengeService.getChallengeFromV5API(legacyId) + // Timeline fields are managed by the V5 Scheduler instead of the legacy autopilot + if (_.get(v5ChallengeFromAPI, 'legacy.useSchedulingAPI') === true) { + _.set(v5ChallengeObjectFromV4, 'legacy.useSchedulingAPI', true) + _.each(timelineScheduleFields, (prop) => { + _.unset(v5ChallengeObjectFromV4, prop) + }) + } + // logger.debug(`V5 Object Built from V4: ${JSON.stringify(v5ChallengeObjectFromV4)}`) // logger.debug(`V5 Object from API: ${JSON.stringify(v5ChallengeFromAPI)}`)