Bläddra i källkod

Add the ability to call get_user operation with username

magicbelette 4 år sedan
förälder
incheckning
fd20a9218f
1 ändrade filer med 7 tillägg och 3 borttagningar
  1. 7 3
      models/users.js

+ 7 - 3
models/users.js

@@ -1460,13 +1460,18 @@ if (Meteor.isServer) {
    *
    *
    * @description Only the admin user (the first user) can call the REST API.
    * @description Only the admin user (the first user) can call the REST API.
    *
    *
-   * @param {string} userId the user ID
+   * @param {string} userId the user ID or username
    * @return_type Users
    * @return_type Users
    */
    */
   JsonRoutes.add('GET', '/api/users/:userId', function(req, res) {
   JsonRoutes.add('GET', '/api/users/:userId', function(req, res) {
     try {
     try {
       Authentication.checkUserId(req.userId);
       Authentication.checkUserId(req.userId);
-      const id = req.params.userId;
+      let id = req.params.userId;
+      let user = Meteor.users.findOne({ _id: id });
+      if (!user) {
+        user = Meteor.users.findOne({ username: id });
+        id = user._id;
+      }
 
 
       // get all boards where the user is member of
       // get all boards where the user is member of
       let boards = Boards.find(
       let boards = Boards.find(
@@ -1485,7 +1490,6 @@ if (Meteor.isServer) {
         return u;
         return u;
       });
       });
 
 
-      const user = Meteor.users.findOne({ _id: id });
       user.boards = boards;
       user.boards = boards;
       JsonRoutes.sendResult(res, {
       JsonRoutes.sendResult(res, {
         code: 200,
         code: 200,