summaryrefslogtreecommitdiffstats
path: root/models/users.js
diff options
context:
space:
mode:
authorRomulus Urakagi Tsai <urakagi@gmail.com>2020-05-20 15:12:55 +0800
committerRomulus Urakagi Tsai <urakagi@gmail.com>2020-05-20 15:12:55 +0800
commitaf7c74b2d36681cd16b7e7d1a88c2b3a93b69d3d (patch)
treec8f1cd693195bbe20237308b0aac95ce43a592ca /models/users.js
parent4064f3f4063136c97aa7bcbcdc18fec923934b74 (diff)
parentb80396f627665119cd38f11f2d466ce53ec573ab (diff)
downloadwekan-af7c74b2d36681cd16b7e7d1a88c2b3a93b69d3d.tar.gz
wekan-af7c74b2d36681cd16b7e7d1a88c2b3a93b69d3d.tar.bz2
wekan-af7c74b2d36681cd16b7e7d1a88c2b3a93b69d3d.zip
Merge branch 'lib-change' of https://github.com/PDIS/wekan into lib-change
Diffstat (limited to 'models/users.js')
-rw-r--r--models/users.js41
1 files changed, 40 insertions, 1 deletions
diff --git a/models/users.js b/models/users.js
index a1bc5b0f..1a021bb7 100644
--- a/models/users.js
+++ b/models/users.js
@@ -1240,6 +1240,25 @@ if (Meteor.isServer) {
Authentication.checkLoggedIn(req.userId);
const data = Meteor.users.findOne({ _id: req.userId });
delete data.services;
+
+ // get all boards where the user is member of
+ let boards = Boards.find(
+ {
+ type: 'board',
+ 'members.userId': req.userId,
+ },
+ {
+ fields: { _id: 1, members: 1 },
+ },
+ );
+ boards = boards.map(b => {
+ const u = b.members.find(m => m.userId === req.userId);
+ delete u.userId;
+ u.boardId = b._id;
+ return u;
+ });
+
+ data.boards = boards;
JsonRoutes.sendResult(res, {
code: 200,
data,
@@ -1292,9 +1311,29 @@ if (Meteor.isServer) {
try {
Authentication.checkUserId(req.userId);
const id = req.params.userId;
+
+ // get all boards where the user is member of
+ let boards = Boards.find(
+ {
+ type: 'board',
+ 'members.userId': id,
+ },
+ {
+ fields: { _id: 1, members: 1 },
+ },
+ );
+ boards = boards.map(b => {
+ const u = b.members.find(m => m.userId === id);
+ delete u.userId;
+ u.boardId = b._id;
+ return u;
+ });
+
+ const user = Meteor.users.findOne({ _id: id });
+ user.boards = boards;
JsonRoutes.sendResult(res, {
code: 200,
- data: Meteor.users.findOne({ _id: id }),
+ data: user,
});
} catch (error) {
JsonRoutes.sendResult(res, {