import { Meteor } from 'meteor/meteor'; import { Authorization } from '@rocket.chat/core-services'; import type { ServerMethods } from '@rocket.chat/ui-contexts'; import type { IUser, IRocketChatRecord } from '@rocket.chat/core-typings'; declare module '@rocket.chat/ui-contexts' { // eslint-disable-next-line @typescript-eslint/naming-convention interface ServerMethods { getUserRoles(): (IRocketChatRecord & Pick)[]; } } Meteor.methods({ async getUserRoles() { if (!Meteor.userId()) { throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'getUserRoles' }); } return Authorization.getUsersFromPublicRoles(); }, });