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

Commit 53ac68e

Browse files
Merge pull request #21 from topcoder-platform/feature/passing-startdate-to-legacy
Using challenge startDate for the first phase of legacy challenge.
2 parents 80b36c8 + 8c27f8b commit 53ac68e

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/services/ProcessorService.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,17 +157,18 @@ async function parsePayload (payload, m2mToken, isCreated = true) {
157157
if (payload.phases) {
158158
const registrationPhase = _.find(payload.phases, p => p.phaseId === config.REGISTRATION_PHASE_ID)
159159
const submissionPhase = _.find(payload.phases, p => p.phaseId === config.SUBMISSION_PHASE_ID)
160-
data.registrationStartsAt = new Date().toISOString()
161-
data.registrationEndsAt = new Date(Date.now() + (registrationPhase || submissionPhase).duration).toISOString()
160+
const startDate = payload.startDate ? new Date(payload.startDate) : new Date()
161+
data.registrationStartsAt = startDate.toISOString()
162+
data.registrationEndsAt = new Date(startDate.getTime() + (registrationPhase || submissionPhase).duration).toISOString()
162163
data.registrationDuration = (registrationPhase || submissionPhase).duration
163-
data.submissionEndsAt = new Date(Date.now() + submissionPhase.duration).toISOString()
164+
data.submissionEndsAt = new Date(startDate.getTime() + submissionPhase.duration).toISOString()
164165
data.submissionDuration = submissionPhase.duration
165166

166167
// Only Design can have checkpoint phase and checkpoint prizes
167168
const checkpointPhase = _.find(payload.phases, p => p.phaseId === config.CHECKPOINT_SUBMISSION_PHASE_ID)
168169
if (checkpointPhase) {
169-
data.checkpointSubmissionStartsAt = new Date().toISOString()
170-
data.checkpointSubmissionEndsAt = new Date(Date.now() + checkpointPhase.duration).toISOString()
170+
data.checkpointSubmissionStartsAt = startDate.toISOString()
171+
data.checkpointSubmissionEndsAt = new Date(startDate.getTime() + checkpointPhase.duration).toISOString()
171172
data.checkpointSubmissionDuration = checkpointPhase.duration
172173
} else {
173174
data.checkpointSubmissionStartsAt = null
@@ -301,7 +302,8 @@ processCreate.schema = {
301302
tags: Joi.array().items(Joi.string().required()), // tag names
302303
projectId: Joi.number().integer().positive().required(),
303304
copilotId: Joi.number().integer().positive().optional(),
304-
status: Joi.string().valid(_.values(Object.keys(constants.createChallengeStatusesMap))).required()
305+
status: Joi.string().valid(_.values(Object.keys(constants.createChallengeStatusesMap))).required(),
306+
startDate: Joi.date(),
305307
}).unknown(true).required()
306308
}).required()
307309
}
@@ -414,7 +416,8 @@ processUpdate.schema = {
414416
}).unknown(true))
415417
}).unknown(true)).min(1),
416418
tags: Joi.array().items(Joi.string().required()).min(1), // tag names
417-
projectId: Joi.number().integer().positive().allow(null)
419+
projectId: Joi.number().integer().positive().allow(null),
420+
startDate: Joi.date()
418421
}).unknown(true).required()
419422
}).required()
420423
}

0 commit comments

Comments
 (0)