diff --git a/.changeset/thick-badgers-grab.md b/.changeset/thick-badgers-grab.md new file mode 100644 index 00000000000..5cfa0235a68 --- /dev/null +++ b/.changeset/thick-badgers-grab.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': major +--- + +Removes `addUserToRole` and `removeUserFromRole` type declaration and deprecation logger diff --git a/apps/meteor/app/authorization/server/methods/addUserToRole.ts b/apps/meteor/app/authorization/server/methods/addUserToRole.ts index eb1afe6ceeb..77bdae79da3 100644 --- a/apps/meteor/app/authorization/server/methods/addUserToRole.ts +++ b/apps/meteor/app/authorization/server/methods/addUserToRole.ts @@ -4,17 +4,9 @@ import { Roles, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; import { addUserRolesAsync } from '../../../../server/lib/roles/addUserRoles'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; import { settings } from '../../../settings/server'; import { hasPermissionAsync } from '../functions/hasPermission'; -declare module '@rocket.chat/ddp-client' { - // eslint-disable-next-line @typescript-eslint/naming-convention - interface ServerMethods { - 'authorization:addUserToRole'(roleId: IRole['_id'], username: IUser['username'], scope: string | undefined): Promise; - } -} - export const addUserToRole = async (userId: string, roleId: string, username: IUser['username'], scope?: string): Promise => { if (!(await hasPermissionAsync(userId, 'access-permissions'))) { throw new Meteor.Error('error-action-not-allowed', 'Accessing permissions is not allowed', { @@ -29,21 +21,12 @@ export const addUserToRole = async (userId: string, roleId: string, username: IU }); } - let role = await Roles.findOneById>(roleId, { projection: { _id: 1 } }); - if (!role) { - role = await Roles.findOneByName>(roleId, { projection: { _id: 1 } }); + const role = await Roles.findOneById>(roleId, { projection: { _id: 1 } }); - if (!role) { - throw new Meteor.Error('error-invalid-role', 'Invalid Role', { - method: 'authorization:addUserToRole', - }); - } - methodDeprecationLogger.deprecatedParameterUsage( - 'authorization:addUserToRole', - 'role', - '7.0.0', - ({ parameter, method, version }) => `Calling ${method} with \`${parameter}\` names is deprecated and will be removed ${version}`, - ); + if (!role) { + throw new Meteor.Error('error-invalid-role', 'Invalid Role', { + method: 'authorization:addUserToRole', + }); } if (role._id === 'admin' && !(await hasPermissionAsync(userId, 'assign-admin-role'))) { diff --git a/apps/meteor/app/authorization/server/methods/removeUserFromRole.ts b/apps/meteor/app/authorization/server/methods/removeUserFromRole.ts index 1f83acc1a20..6caef9c6565 100644 --- a/apps/meteor/app/authorization/server/methods/removeUserFromRole.ts +++ b/apps/meteor/app/authorization/server/methods/removeUserFromRole.ts @@ -4,17 +4,9 @@ import { Roles, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; import { removeUserFromRolesAsync } from '../../../../server/lib/roles/removeUserFromRoles'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; import { settings } from '../../../settings/server'; import { hasPermissionAsync } from '../functions/hasPermission'; -declare module '@rocket.chat/ddp-client' { - // eslint-disable-next-line @typescript-eslint/naming-convention - interface ServerMethods { - 'authorization:removeUserFromRole'(roleId: IRole['_id'], username: IUser['username'], scope?: string): Promise; - } -} - export const removeUserFromRole = async (userId: string, roleId: string, username: IUser['username'], scope?: string): Promise => { if (!(await hasPermissionAsync(userId, 'access-permissions'))) { throw new Meteor.Error('error-action-not-allowed', 'Access permissions is not allowed', { @@ -29,21 +21,11 @@ export const removeUserFromRole = async (userId: string, roleId: string, usernam }); } - let role = await Roles.findOneById>(roleId, { projection: { _id: 1 } }); + const role = await Roles.findOneById>(roleId, { projection: { _id: 1 } }); if (!role) { - role = await Roles.findOneByName>(roleId, { projection: { _id: 1 } }); - if (!role) { - throw new Meteor.Error('error-invalid-role', 'Invalid Role', { - method: 'authorization:removeUserFromRole', - }); - } - - methodDeprecationLogger.deprecatedParameterUsage( - 'authorization:removeUserFromRole', - 'role', - '7.0.0', - ({ parameter, method, version }) => `Calling ${method} with ${parameter} names is deprecated and will be removed ${version}`, - ); + throw new Meteor.Error('error-invalid-role', 'Invalid Role', { + method: 'authorization:removeUserFromRole', + }); } const user = await Users.findOneByUsernameIgnoringCase(username, {