From a05c7d2c6cc1e5eb57e50f3b3af2b4fbe65b217f Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Fri, 20 Dec 2019 12:45:01 +0100 Subject: [PATCH] fix(onboarding): make sure migration does not fail with missing field --- .../users/20191125_onboarding_achievements.js | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/migrations/users/20191125_onboarding_achievements.js b/migrations/users/20191125_onboarding_achievements.js index 290db87eca..eb77b48510 100644 --- a/migrations/users/20191125_onboarding_achievements.js +++ b/migrations/users/20191125_onboarding_achievements.js @@ -50,20 +50,22 @@ async function updateUser (user) { set['achievements.purchasedEquipment'] = true; } - const hasTask = Object.keys(user.tasksOrder).find(tasksOrderType => { - const order = user.tasksOrder[tasksOrderType]; + if (user.tasksOrder) { + const hasTask = Object.keys(user.tasksOrder).find(tasksOrderType => { + const order = user.tasksOrder[tasksOrderType]; - if (order && order.length > 0) return true; - return false; - }); + if (order && order.length > 0) return true; + return false; + }); - if (hasTask) { - set['achievements.createdTask'] = true; - } + if (hasTask) { + set['achievements.createdTask'] = true; + } - const hasExperience = user.stats && user.stats.exp && user.stats.exp > 0; - if (hasTask && hasExperience) { - set['achievements.completedTask'] = true; + const hasExperience = user.stats && user.stats.exp && user.stats.exp > 0; + if (hasTask && hasExperience) { + set['achievements.completedTask'] = true; + } } if (count % progressCount === 0) console.warn(`${count} ${user._id}`);