Create a new API that returns all logged user roles

pull/9519/head
Rafael Kellermann Streit 8 years ago
parent d702b7e106
commit ecf1ece598
  1. 3
      packages/rocketchat-api/server/v1/permissions.js
  2. 24
      packages/rocketchat-api/server/v1/users.js

@ -1,5 +1,6 @@
/**
This API returns logged user permissions.
This API returns all permissions that exists
on the server, with respective roles.
Method: GET
Route: api/v1/permissions

@ -270,3 +270,27 @@ RocketChat.API.v1.addRoute('users.createToken', { authRequired: true }, {
return data ? RocketChat.API.v1.success({data}) : RocketChat.API.v1.unauthorized();
}
});
/**
This API returns the logged user roles.
Method: GET
Route: api/v1/user.roles
*/
RocketChat.API.v1.addRoute('user.roles', { authRequired: true }, {
get() {
let result;
var currentUserRoles = {};
Meteor.runAsUser(this.userId, () =>
result = Meteor.call('getUserRoles')
);
if (Array.isArray(result) && result.length > 0) {
currentUserRoles = result[0]
}
return RocketChat.API.v1.success(currentUserRoles);
}
});

Loading…
Cancel
Save