This commit is contained in:
@@ -112,7 +112,8 @@ class AccessManager {
|
||||
lastName: dbUser.lastName,
|
||||
displayName: dbUser.displayName,
|
||||
profilePicture: dbUser.profilePicture,
|
||||
status: dbUser.status
|
||||
status: dbUser.status,
|
||||
gameData: dbUser.gameData
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ class GamesManager{
|
||||
this.list = async function(query){
|
||||
return await db.list(collection, {
|
||||
query,
|
||||
project: { name:1, description:1, id:1, thumb: 1, group: 1, order: 1}
|
||||
project: { name:1, description:1, id:1, thumb: 1, group: 1, order: 1, activationTriggers: 1}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -95,6 +95,21 @@ class UserManager {
|
||||
await db.update(collection, { '_id': db.ObjectId(user._id) }, user);
|
||||
}
|
||||
|
||||
this.addGameData = async function(ctx, data){
|
||||
if (ctx.user?._id){
|
||||
let user = await db.get(collection, { '_id': db.ObjectId(ctx.user._id) });
|
||||
let gameData = (user.gameData || []).filter(gd=>gd.id != data.id);
|
||||
gameData.push(data);
|
||||
ctx.user.gameData = user.gameData = gameData;
|
||||
await db.update(collection, { '_id': db.ObjectId(user._id) }, user);
|
||||
//ctx.user.gameData = gameData;
|
||||
}else{
|
||||
let gameData = (ctx.session.gameData || []).filter(gd=>gd.id != data.id);
|
||||
gameData.push(data);
|
||||
ctx.session.gameData = gameData
|
||||
}
|
||||
}
|
||||
|
||||
this.assignSafeUserData = function (ctx, userObject, newData, isAdmin) {
|
||||
['displayName', 'firstName', 'lastName', ...(isAdmin ? ['roles', 'groups', 'email', 'status'] : [])].forEach(e => {
|
||||
userObject[e] = newData[e];
|
||||
|
||||
@@ -167,6 +167,15 @@ class UsersController {
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/gameData', (req, res) => {
|
||||
res.json(req.user?.gameData || req.session.gameData || []);
|
||||
})
|
||||
|
||||
router.put('/gameData', async (req, res) => {
|
||||
await user.addGameData(req, req.body);
|
||||
res.json(req.user?.gameData || req.session.gameData || []);
|
||||
})
|
||||
|
||||
app.webServer.xapp.use(this.route, router);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user