diff --git a/src/constants.js b/src/constants.js
index 0418ee6..9d64758 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -17,7 +17,12 @@ const challengeStatusOrders = {
cancelled: 2
}
+const challengeStatuses = {
+ Completed: 'Completed',
+}
+
module.exports = {
prizeSetTypes,
- challengeStatusOrders
+ challengeStatusOrders,
+ challengeStatuses
}
diff --git a/src/services/challengeService.js b/src/services/challengeService.js
index af30ad4..6a0257c 100644
--- a/src/services/challengeService.js
+++ b/src/services/challengeService.js
@@ -78,7 +78,10 @@ async function createChallenge (challenge) {
*/
async function updateChallenge (challenge) {
try {
- const updateChallenge = new Challenge(_.omit(challenge, ['created', 'createdBy']))
+ if (challenge.task && (challenge.status === constants.challengeStatuses.Completed || _.get(challenge, 'winners.length') > 0)) {
+ _.unset(challenge, 'task')
+ }
+ const updateChallenge = new Challenge(_.omit(challenge, ['created', 'createdBy', 'name']))
// numOfSubmissions and numOfRegistrants are not stored in dynamo, they're calclated by the ES processor
await Challenge.update({ id: challenge.id }, _.omit(updateChallenge, challengePropertiesToOmitFromDynamo))
await getESClient().update({
@@ -88,7 +91,7 @@ async function updateChallenge (challenge) {
id: challenge.id,
body: {
doc: {
- ..._.omit(challenge, ['created', 'createdBy']),
+ ..._.omit(challenge, ['created', 'createdBy', 'name']),
groups: _.filter(challenge.groups, g => _.toString(g).toLowerCase() !== 'null')
}
}
@@ -551,8 +554,8 @@ async function buildV5Challenge (legacyId, challengeListing, challengeDetails) {
detailRequirement = challengeDetails.introduction + '
' + detailRequirement
}
if (_.get(challengeDetails, 'finalSubmissionGuidelines', '').trim() !== 'null' &&
- _.get(challengeDetails, 'finalSubmissionGuidelines', '').trim() !== '' &&
- _.get(challengeDetails, 'finalSubmissionGuidelines', '').trim() !== 'Please read above') {
+ _.get(challengeDetails, 'finalSubmissionGuidelines', '').trim() !== '' &&
+ _.get(challengeDetails, 'finalSubmissionGuidelines', '').trim() !== 'Please read above') {
detailRequirement += '