Fixed badgecount
This commit is contained in:
parent
bda650f728
commit
285a7ddbef
2 changed files with 25 additions and 2 deletions
|
|
@ -55,8 +55,8 @@ async function GetUser(req, res) {
|
|||
email: newUser.email,
|
||||
points: newUser.points,
|
||||
level: getUserLevel(newUser.points),
|
||||
badgeCount,
|
||||
},
|
||||
badgeCount,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,38 @@
|
|||
const getUserLevel = require('server/utils/getUserLevel');
|
||||
const Badge = require('../../db/models/Badge');
|
||||
|
||||
async function Remember(req, res) {
|
||||
const { user } = req;
|
||||
|
||||
const badges = await Badge.find({ title: { $in: user.badges } });
|
||||
|
||||
const badgeCount = badges.reduce(
|
||||
(acc, badge) => {
|
||||
if (badge.rank === 'Gold') {
|
||||
acc.gold = acc.gold++;
|
||||
} else if (badge.rank === 'Silver') {
|
||||
acc.silver = acc.silver++;
|
||||
} else if (badge.rank === 'Bronze') {
|
||||
acc.bronze = acc.bronze++;
|
||||
}
|
||||
|
||||
return acc;
|
||||
},
|
||||
{
|
||||
gold: 0,
|
||||
silver: 0,
|
||||
bronze: 0,
|
||||
}
|
||||
);
|
||||
|
||||
return res.send({
|
||||
user: {
|
||||
username: user.username,
|
||||
email: user.email,
|
||||
points: user.points,
|
||||
level: getUserLevel(user.points),
|
||||
}
|
||||
badgeCount,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Reference in a new issue