diff --git a/.changeset/forty-spiders-sneeze.md b/.changeset/forty-spiders-sneeze.md new file mode 100644 index 00000000000..f09f83231e9 --- /dev/null +++ b/.changeset/forty-spiders-sneeze.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': major +--- + +Removes deprecated `removeCustomField` method diff --git a/apps/meteor/app/livechat/server/index.ts b/apps/meteor/app/livechat/server/index.ts index f4cd1ad8226..efd05cef536 100644 --- a/apps/meteor/app/livechat/server/index.ts +++ b/apps/meteor/app/livechat/server/index.ts @@ -14,7 +14,6 @@ import './hooks/saveLastMessageToInquiry'; import './hooks/afterUserActions'; import './hooks/afterAgentRemoved'; import './hooks/afterSaveOmnichannelMessage'; -import './methods/removeCustomField'; import './methods/saveCustomField'; import './methods/saveDepartment'; import './methods/sendMessageLivechat'; diff --git a/apps/meteor/app/livechat/server/methods/removeCustomField.ts b/apps/meteor/app/livechat/server/methods/removeCustomField.ts deleted file mode 100644 index 2dd9de6bb8a..00000000000 --- a/apps/meteor/app/livechat/server/methods/removeCustomField.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type { ServerMethods } from '@rocket.chat/ddp-client'; -import { LivechatCustomField } from '@rocket.chat/models'; -import { check } from 'meteor/check'; -import { Meteor } from 'meteor/meteor'; -import type { DeleteResult } from 'mongodb'; - -import { hasPermissionAsync } from '../../../authorization/server/functions/hasPermission'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; - -declare module '@rocket.chat/ddp-client' { - // eslint-disable-next-line @typescript-eslint/naming-convention - interface ServerMethods { - 'livechat:removeCustomField'(_id: string): DeleteResult; - } -} - -Meteor.methods({ - async 'livechat:removeCustomField'(_id) { - methodDeprecationLogger.method('livechat:removeCustomField', '8.0.0', '/v1/livechat/custom-fields.delete'); - const uid = Meteor.userId(); - if (!uid || !(await hasPermissionAsync(uid, 'view-livechat-manager'))) { - throw new Meteor.Error('error-not-allowed', 'Not allowed', { - method: 'livechat:removeCustomField', - }); - } - - check(_id, String); - - const customField = await LivechatCustomField.findOneById(_id, { projection: { _id: 1 } }); - if (!customField) { - throw new Meteor.Error('error-invalid-custom-field', 'Custom field not found', { - method: 'livechat:removeCustomField', - }); - } - - return LivechatCustomField.removeById(_id); - }, -});