Revert the removed endpoint, user.roles

pull/10240/head
Marcos Defendi 7 years ago
parent f2345eb5ba
commit 5ecb7e994b
  1. 4
      packages/rocketchat-api/server/v1/misc.js
  2. 22
      packages/rocketchat-api/server/v1/users.js
  3. 19
      tests/end-to-end/api/01-users.js

@ -58,10 +58,10 @@ RocketChat.API.v1.addRoute('me', { authRequired: true }, {
]);
const verifiedEmail = me.emails.find((email) => email.verified);
const preferencesDontSetUpYet = !me.settings || !me.settings.preferences;
const userHasNotSetPreferencesYet = !me.settings || !me.settings.preferences;
me.email = verifiedEmail ? verifiedEmail.address : undefined;
if (preferencesDontSetUpYet) {
if (userHasNotSetPreferencesYet) {
me.settings = { preferences: {} };
}

@ -367,3 +367,25 @@ RocketChat.API.v1.addRoute('users.setPreferences', { authRequired: true }, {
return RocketChat.API.v1.success({ user: RocketChat.models.Users.findOneById(this.bodyParams.userId, { fields: preferences }) });
}
});
/**
DEPRECATED
// TODO: Remove this after three versions have been released. That means at 0.66 this should be gone.
This API returns the logged user roles.
Method: GET
Route: api/v1/user.roles
*/
RocketChat.API.v1.addRoute('user.roles', { authRequired: true }, {
get() {
let currentUserRoles = {};
const result = Meteor.runAsUser(this.userId, () => Meteor.call('getUserRoles'));
if (Array.isArray(result) && result.length > 0) {
currentUserRoles = result[0];
}
return RocketChat.API.v1.success(currentUserRoles);
}
});

@ -541,6 +541,25 @@ describe('[Users]', function() {
});
});
//DEPRECATED
// TODO: Remove this after three versions have been released. That means at 0.66 this should be gone.
describe('[/user.roles]', () => {
it('should return id and name of user, and an array of roles', (done) => {
request.get(api('user.roles'))
.set(credentials)
.expect(200)
.expect('Content-Type', 'application/json')
.expect((res) => {
expect(res.body).to.have.property('username');
expect(res.body).to.have.property('roles').and.to.be.a('array');
expect(res.body).to.have.property('_id');
expect(res.body).to.have.property('success', true);
})
.end(done);
});
});
describe('[/users.setPreferences]', () => {
it('should set some preferences by user when execute successfully', (done) => {
preferences.userId = credentials['X-User-Id'];

Loading…
Cancel
Save