diff --git a/src/services/ChallengeService.js b/src/services/ChallengeService.js index ab680cac..60a5489f 100644 --- a/src/services/ChallengeService.js +++ b/src/services/ChallengeService.js @@ -1695,6 +1695,16 @@ async function update (currentUser, challengeId, data, isFull) { data.updated = moment().utc() data.updatedBy = currentUser.handle || currentUser.sub + const finalMetadata = [...challenge.metadata || []] + _.each(data.metadata || [], (rec) => { + const existingMeta = _.findIndex(finalMetadata, m => m.name === rec.name) + if (existingMeta > -1) { + finalMetadata[existingMeta].value = rec.value + } else { + finalMetadata.push(rec) + } + }) + data.metadata = finalMetadata const updateDetails = {} const auditLogs = [] let phasesHaveBeenModified = false