瀏覽代碼

API add boards to json where user is member of

Nico 5 年之前
父節點
當前提交
ec03bbe260
共有 1 個文件被更改,包括 40 次插入1 次删除
  1. 40 1
      models/users.js

+ 40 - 1
models/users.js

@@ -1240,6 +1240,25 @@ if (Meteor.isServer) {
       Authentication.checkLoggedIn(req.userId);
       Authentication.checkLoggedIn(req.userId);
       const data = Meteor.users.findOne({ _id: req.userId });
       const data = Meteor.users.findOne({ _id: req.userId });
       delete data.services;
       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, {
       JsonRoutes.sendResult(res, {
         code: 200,
         code: 200,
         data,
         data,
@@ -1292,9 +1311,29 @@ if (Meteor.isServer) {
     try {
     try {
       Authentication.checkUserId(req.userId);
       Authentication.checkUserId(req.userId);
       const id = req.params.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, {
       JsonRoutes.sendResult(res, {
         code: 200,
         code: 200,
-        data: Meteor.users.findOne({ _id: id }),
+        data: user,
       });
       });
     } catch (error) {
     } catch (error) {
       JsonRoutes.sendResult(res, {
       JsonRoutes.sendResult(res, {