fix: replace deprecated getUserRoles method call with REST API #1104
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a 400 Bad Request error encountered when the application attempts to fetch user roles (specifically admin roles).
The previous implementation relied on a legacy Meteor method call (
method.call/getUserRoles) via the DDP-over-REST endpoint. This method has been deprecated or removed in modern Rocket.Chat server versions, causing the API to return a 404 Method Not Found error (wrapped inside a 400 response).This change updates the
getUserRolesimplementation to use the supported REST API endpointroles.getUsersInRole, restoring compatibility with modern Rocket.Chat servers.Closes #1099
Changes
Updated
packages/api/src/EmbeddedChatApi.ts:Replaced the legacy
getUserRoles()implementation with a call tothis.getUsersInRole("admin").Preserved the existing return structure (
{ result: [...] }) to maintain backward compatibility with:useFetchChatDatamemberStore