Merge branch 'ogzcoder/feat/track-user-submit' into staging
This commit is contained in:
@ -182,6 +182,7 @@
|
||||
{
|
||||
"completedDate": "number",
|
||||
"lastUpdated": "number",
|
||||
"numOfAttempts": "number",
|
||||
"id": "string",
|
||||
"name": "string",
|
||||
"completedWith": "string",
|
||||
|
@ -14,20 +14,24 @@ function buildUserUpdate(
|
||||
completedChallenge,
|
||||
timezone
|
||||
) {
|
||||
const updateData = { $set: {} };
|
||||
let finalChallenge;
|
||||
let numOfAttempts = 1;
|
||||
const updateData = { $set: {} };
|
||||
const { timezone: userTimezone, challengeMap = {} } = user;
|
||||
|
||||
const oldChallenge = challengeMap[challengeId];
|
||||
const alreadyCompleted = !!oldChallenge;
|
||||
|
||||
|
||||
if (alreadyCompleted) {
|
||||
// add data from old challenge
|
||||
if (oldChallenge.numOfAttempts) {
|
||||
numOfAttempts = oldChallenge.numOfAttempts + 1;
|
||||
}
|
||||
finalChallenge = {
|
||||
...completedChallenge,
|
||||
completedDate: oldChallenge.completedDate,
|
||||
lastUpdated: completedChallenge.completedDate
|
||||
lastUpdated: completedChallenge.completedDate,
|
||||
numOfAttempts
|
||||
};
|
||||
} else {
|
||||
updateData.$push = {
|
||||
@ -36,7 +40,10 @@ function buildUserUpdate(
|
||||
completedChallenge: challengeId
|
||||
}
|
||||
};
|
||||
finalChallenge = completedChallenge;
|
||||
finalChallenge = {
|
||||
...completedChallenge,
|
||||
numOfAttempts
|
||||
};
|
||||
}
|
||||
|
||||
updateData.$set = {
|
||||
|
Reference in New Issue
Block a user