Added badgecount
This commit is contained in:
parent
5f389f5294
commit
30a35fce7f
3 changed files with 26 additions and 3 deletions
|
|
@ -9,6 +9,6 @@ const ReadMail = require('./mail/Read');
|
|||
|
||||
router.get('/', tokenAuth, GetMail);
|
||||
router.post('/', tokenAuth, SendMail);
|
||||
router.patch('/', tokenAuth, ReadMail);
|
||||
router.patch('/:mail_id', tokenAuth, ReadMail);
|
||||
|
||||
module.exports = router;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ const Mail = require('server/db/models/Mail');
|
|||
const config = require('server/config.json');
|
||||
|
||||
async function Read(req, res) {
|
||||
const { id } = req.body;
|
||||
const { mail_id } = req.params;
|
||||
|
||||
const cachedMail = await Mail.findByIdAndUpdate(id, { read: true });
|
||||
const cachedMail = await Mail.findByIdAndUpdate(mail_id, { read: true });
|
||||
|
||||
return cachedMail ? res.sendStatus(200) : res.status(404).send(config.errorNotFound);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ const createRequest = require('server/utils/api');
|
|||
const config = require('server/config.json');
|
||||
const User = require('server/db/models/User');
|
||||
const getUserLevel = require('server/utils/getUserLevel');
|
||||
const Badge = require('server/db/models/');
|
||||
|
||||
async function GetUser(req, res) {
|
||||
const { username } = req.params;
|
||||
|
|
@ -27,6 +28,27 @@ async function GetUser(req, res) {
|
|||
new: true,
|
||||
});
|
||||
|
||||
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: newUser.username,
|
||||
|
|
@ -34,6 +56,7 @@ async function GetUser(req, res) {
|
|||
points: newUser.points,
|
||||
level: getUserLevel(newUser.points),
|
||||
},
|
||||
badgeCount,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Reference in a new issue