diff options
author | Romulus Urakagi Tsai <urakagi@gmail.com> | 2020-05-20 15:12:55 +0800 |
---|---|---|
committer | Romulus Urakagi Tsai <urakagi@gmail.com> | 2020-05-20 15:12:55 +0800 |
commit | af7c74b2d36681cd16b7e7d1a88c2b3a93b69d3d (patch) | |
tree | c8f1cd693195bbe20237308b0aac95ce43a592ca /models/users.js | |
parent | 4064f3f4063136c97aa7bcbcdc18fec923934b74 (diff) | |
parent | b80396f627665119cd38f11f2d466ce53ec573ab (diff) | |
download | wekan-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.js | 41 |
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, { |