added update lb memory function to user api

This commit is contained in:
Jack 2021-09-07 16:36:06 +01:00
parent 45181f67dc
commit e6f701c3cb
3 changed files with 36 additions and 0 deletions

View file

@ -232,6 +232,17 @@ class UserController {
return next(e);
}
}
static async updateLbMemory(req, res, next) {
try {
const { uid } = req.decodedToken;
const { mode, mode2, language, rank } = req.body;
await UsersDAO.updateLbMemory(uid, mode, mode2, language, rank);
return res.sendStatus(200);
} catch (e) {
return next(e);
}
}
}
module.exports = UserController;

View file

@ -35,6 +35,13 @@ router.post(
UserController.updateName
);
router.post(
"/updateLbMemory",
RateLimit.limit1persec,
authenticateRequest,
UserController.updateLbMemory
);
router.post(
"/updateEmail",
RateLimit.limit60perhour,

View file

@ -149,6 +149,24 @@ class UsersDAO {
);
}
static async updateLbMemory(uid, mode, mode2, language, rank) {
const user = await mongoDB().collection("users").findOne({ uid });
if (!user) throw new MonkeyError(404, "User not found", "get user");
if (user.lbMemory === undefined) user.lbMemory = {};
if (user.lbMemory[mode] === undefined) user.lbMemory[mode] = {};
if (user.lbMemory[mode][mode2] === undefined)
user.lbMemory[mode][mode2] = {};
user.lbMemory[mode][mode2][language] = rank;
return await mongoDB()
.collection("users")
.updateOne(
{ uid },
{
$set: { lbMemory: user.lbMemory },
}
);
}
static async checkIfPb(uid, result) {
const user = await mongoDB().collection("users").findOne({ uid });
if (!user) throw new MonkeyError(404, "User not found", "check if pb");