Chore: Update User model (#17171)

* fix(logs): Remove console.log's

* chore(challengeMap): challengeMap -> completedChallenges

* chore(userModel): Update user model

* feat(userIDs): Add user ident fields

* chore(github): Remove more refs to github data
This commit is contained in:
Stuart Taylor
2018-05-15 14:56:26 +01:00
committed by mrugesh mohapatra
parent 156ea1af76
commit f916204ba5
23 changed files with 233 additions and 742 deletions

View File

@@ -8,8 +8,7 @@ const passportOptions = {
};
const fields = {
progressTimestamps: false,
completedChallenges: false
progressTimestamps: false
};
function getCompletedCertCount(user) {
@@ -44,7 +43,6 @@ PassportConfigurator.prototype.init = function passportInit(noSession) {
this.userModel.findById(id, { fields }, (err, user) => {
if (err || !user) {
user.challengeMap = {};
return done(err, user);
}
@@ -58,23 +56,21 @@ PassportConfigurator.prototype.init = function passportInit(noSession) {
user.points = points;
let completedChallengeCount = 0;
let completedProjectCount = 0;
if ('challengeMap' in user) {
completedChallengeCount = Object.keys(user.challengeMap).length;
Object.keys(user.challengeMap)
.map(key => user.challengeMap[key])
.forEach(item => {
if (
'challengeType' in item &&
(item.challengeType === 3 || item.challengeType === 4)
) {
completedProjectCount++;
}
});
if ('completedChallenges' in user) {
completedChallengeCount = user.completedChallenges.length;
user.completedChallenges.forEach(item => {
if (
'challengeType' in item &&
(item.challengeType === 3 || item.challengeType === 4)
) {
completedProjectCount++;
}
});
}
user.completedChallengeCount = completedChallengeCount;
user.completedProjectCount = completedProjectCount;
user.completedCertCount = getCompletedCertCount(user);
user.challengeMap = {};
user.completedChallenges = [];
return done(null, user);
});
});