diff --git a/apps/meteor/MIGRATION_PLAN.md b/apps/meteor/MIGRATION_PLAN.md index f7b13ec088937..3c460cf83e1c0 100644 --- a/apps/meteor/MIGRATION_PLAN.md +++ b/apps/meteor/MIGRATION_PLAN.md @@ -60,7 +60,8 @@ apps/meteor/server/ │ ├── ApiClass.ts # API framework │ ├── api.ts # API initialization │ ├── router.ts # Hono router -│ └── definition.ts # TypeScript types +│ ├── definition.ts # TypeScript types +│ └── webhooks.ts # /hooks/* webhook API (from app/integrations/server/api/) │ ├── slashcommands/ # Slash commands (from app/slashcommands-*/server/) │ ├── archiveroom.ts @@ -102,6 +103,7 @@ apps/meteor/server/ │ ├── platform/ # from app/autotranslate/ + app/e2e/ + existing flat files │ ├── import/ # from app/importer/server/methods/ │ ├── integrations/ # from app/integrations/server/methods/ +│ ├── media/ # from app/custom-sounds/, app/emoji-custom/, app/file-upload/ methods (Phase 6e) │ └── index.ts # updated to import from domain subfolders │ ├── hooks/ # EXISTING — event handlers @@ -397,6 +399,8 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. **Note**: After the rename above, the existing flat files (now under `server/meteor-methods/`) are also moved into the appropriate domain subfolder as part of this phase. +**Deferred methods**: features that move wholesale in Phases 6/7 (file-upload, mentions, user-status, emoji-custom, custom-sounds, push-notifications, statistics, version-check, meteor-accounts-saml, oauth2-server-config) keep their `methods/` dirs until their own phase. Those dirs are routed to `server/meteor-methods//` by explicit rows in the Phase 6/7 tables — they must not ride along into `server/lib/`. Until then, `verify-no-old-imports.mjs "server/methods"` reports ~11 hits pointing at these dirs; that is expected. + | Source | Destination | | ------------------------------------------------- | ----------------------------------------------- | | `app/lib/server/methods/setRealName.ts` | `server/meteor-methods/users/setRealName.ts` | @@ -494,6 +498,19 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. **Verification**: `yarn lint --quiet`, test several Meteor methods via DDP client. +**Registration audit (mandatory here and in Phases 6/7).** A method file that loses its side-effect import silently stops registering — lint, tsc and the unit suites all stay green, and e2e only exercises ~24 methods by name (`methodCall` helper), so most drops are invisible to CI. Many methods also have **no in-repo caller** (they serve mobile/DDP clients), so no repo test can ever catch them. After every batch that touches method files, verify that **every** non-empty file under `server/meteor-methods/` (and `ee/server/meteor-methods/`) is imported by the aggregator index or by a named-import consumer: + +```sh +for f in $(find server/meteor-methods ee/server/meteor-methods -name "*.ts" ! -name "*.spec.ts" | grep -v "^server/meteor-methods/index.ts$"); do + sub="${f%.ts}"; sub="${sub#*meteor-methods/}" + grep -rql --include="*.ts" "meteor-methods/${sub}'" server app ee client imports lib | grep -qv "^${f}$" \ + || grep -q "'\./${sub}'" server/meteor-methods/index.ts \ + || echo "UNREGISTERED: $f" +done +``` + +Match against the full `meteor-methods/` suffix — a loose `/` pattern false-passes on same-named `server/lib/` functions (this exact aliasing hid a dropped `unblockUser` registration in Phase 5b until audited). The audit must come back empty: the two historical 0-byte stragglers it initially flagged (`saveBusinessHour.ts`, EE `removeBusinessHour.ts`, emptied but not deleted by #37772/#37819) were removed in Phase 5. + --- ### Phase 6: Lib, Hooks, and Feature-Specific Code @@ -504,6 +521,8 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. **Scope**: ~300 files +**Methods stay out of `lib/`.** Several features in this phase still carry a `methods/` subdir that Phase 5 deliberately did not touch (their features move here). Those files go to `server/meteor-methods//` — never along with the feature into `server/lib/` — so the "all Meteor methods live in `meteor-methods/`" invariant from Phase 5 holds. Every such dir is listed explicitly in the tables below, and the parent row is qualified with "(non-methods)". This phase introduces one new domain folder, `server/meteor-methods/media/`, for media admin methods (custom sounds, custom emoji, file-upload helpers). + #### Phase 6a: Auth Providers (~30 files) | Source | Destination | @@ -520,7 +539,8 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. | `app/iframe-login/server/` | `server/lib/auth-providers/iframe.ts` | | `app/wordpress/server/` | `server/lib/auth-providers/wordpress.ts` | | `app/lib/server/oauth/*.js` | `server/lib/auth-providers/oauth/` | -| `app/meteor-accounts-saml/server/` | `server/lib/saml/` | +| `app/meteor-accounts-saml/server/` (non-methods) | `server/lib/saml/` | +| `app/meteor-accounts-saml/server/methods/*.ts` | `server/meteor-methods/auth/` | | `app/2fa/server/` (non-methods) | `server/lib/2fa/` | | `app/authentication/server/` (non-hooks) | `server/lib/auth/` | | `app/token-login/server/` | `server/lib/auth/token-login.ts` | @@ -543,7 +563,8 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. | Source | Destination | | -------------------------------- | ----------------------------------------- | | `app/push/server/` | `server/lib/notifications/push/` | -| `app/push-notifications/server/` | `server/lib/notifications/push-config/` | +| `app/push-notifications/server/` (non-methods) | `server/lib/notifications/push-config/` | +| `app/push-notifications/server/methods/saveNotificationSettings.ts` | `server/meteor-methods/users/` | | `app/mailer/server/` | `server/lib/notifications/email/` | | `app/mail-messages/server/` | `server/lib/notifications/mail-messages/` | | `app/notification-queue/server/` | `server/lib/notifications/queue/` | @@ -559,7 +580,8 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. | `app/message-pin/server/` | `server/lib/messaging/pins/` | | `app/message-star/server/` | `server/lib/messaging/stars/` | | `app/message-mark-as-unread/server/` | `server/lib/messaging/unread/` | -| `app/mentions/server/` | `server/lib/messaging/mentions/` | +| `app/mentions/server/` (non-methods) | `server/lib/messaging/mentions/` | +| `app/mentions/server/methods/getUserMentionsByChannel.ts` | `server/meteor-methods/messages/` | | `app/markdown/server/` | `server/lib/messaging/markdown/` | | `app/emoji/server/` | `server/lib/messaging/emoji/` | @@ -567,11 +589,16 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. | Source | Destination | | ------------------------------------------- | ----------------------------------------- | -| `app/file-upload/server/` | `server/lib/media/file-upload/` | +| `app/file-upload/server/` (non-methods) | `server/lib/media/file-upload/` | +| `app/file-upload/server/methods/sendFileMessage.ts` (+ co-located `.spec.ts`) | `server/meteor-methods/messages/` | +| `app/file-upload/server/methods/getS3FileUrl.ts` | `server/meteor-methods/media/` | +| `app/file-upload/server/methods/isImagePreviewSupported.ts` | `server/meteor-methods/media/` | | `app/file/server/` | `server/lib/media/file/` | -| `app/emoji-custom/server/` | `server/lib/media/emoji-custom/` | +| `app/emoji-custom/server/` (non-methods) | `server/lib/media/emoji-custom/` | +| `app/emoji-custom/server/methods/*.ts` | `server/meteor-methods/media/` | | `app/emoji-emojione/server/` | `server/lib/media/emoji-emojione/` | -| `app/custom-sounds/server/` | `server/lib/media/custom-sounds/` | +| `app/custom-sounds/server/` (non-methods) | `server/lib/media/custom-sounds/` | +| `app/custom-sounds/server/methods/*.ts` | `server/meteor-methods/media/` | | `app/assets/server/` | `server/lib/media/assets/` | | `app/importer/server/` (non-methods) | `server/lib/import/` | | `app/importer-csv/server/` | `server/lib/import/csv/` | @@ -583,13 +610,20 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. | `app/search/server/` | `server/lib/search/` | | `app/autotranslate/server/` (non-methods) | `server/lib/autotranslate/` | | `app/e2e/server/` (non-methods) | `server/lib/e2e/` | -| `app/integrations/server/` (non-methods) | `server/lib/integrations/` | -| `app/statistics/server/` | `server/lib/statistics/` | +| `app/integrations/server/` (non-methods, non-api) | `server/lib/integrations/` | +| `app/integrations/server/api/api.ts` | `server/api/webhooks.ts` | +| `app/statistics/server/` (non-methods) | `server/lib/statistics/` | +| `app/statistics/server/methods/getStatistics.ts` | `server/meteor-methods/platform/` | | `app/metrics/server/` | `server/lib/metrics/` | | `app/cloud/server/` (non-functions) | `server/lib/cloud/` | -| `app/version-check/server/` | `server/lib/cloud/version-check/` | +| `app/version-check/server/` (non-methods) | `server/lib/cloud/version-check/` | +| `app/version-check/server/methods/banner_dismiss.ts` | `server/meteor-methods/platform/` | | `app/license/server/` | `server/lib/cloud/license/` | +> `app/integrations/server/api/api.ts` is REST-API responsibility (it builds the `/hooks/*` webhook API on `server/api`'s `APIClass`), so it joins `server/api/` rather than `server/lib/integrations/` — same reasoning that sent the livechat REST endpoints to `server/api/v1/omnichannel/` in Phase 3. +> +> `sendFileMessage.spec.ts` is co-located with its source (not a `tests/unit` mirror) and is a **mocha** spec discovered today by the `app/file-upload/server/**/*.spec.ts` glob. When it moves, add a `server/meteor-methods/**/*.spec.ts` glob to `.mocharc.js`, and re-point the `app/file-upload` glob when the rest of the feature moves — see [Test Mocks and Runner Globs](#test-mocks-and-runner-globs-proxyquire--jestmock--lint--tsc-do-not-catch-these). + **Verification**: `yarn lint --quiet` after each sub-phase, full test suite at end of Phase 6. --- @@ -617,11 +651,13 @@ Each phase produces a manifest file (the tables below), feeds it to `move-batch. - `app/channel-settings/server/` (non-methods) → `server/lib/rooms/settings/` - `app/invites/server/` → `server/lib/rooms/invites/` - `app/retention-policy/server/` → `server/lib/rooms/retention/` -- `app/user-status/server/` → `server/lib/users/status/` +- `app/user-status/server/` (non-methods) → `server/lib/users/status/` +- `app/user-status/server/methods/*.ts` (setUserStatus, getUserStatusText, custom-status CRUD) → `server/meteor-methods/users/` - `app/bot-helpers/server/` → `server/lib/bot-helpers/` (moved in Phase 1) - `app/cors/server/` → `server/lib/cors/` - `app/error-handler/server/` → `server/lib/error-handler/` -- `app/oauth2-server-config/server/` → `server/lib/auth/oauth2-server/` +- `app/oauth2-server-config/server/` (non-methods) → `server/lib/auth/oauth2-server/` +- `app/oauth2-server-config/server/admin/methods/*.ts` (deleteOAuthApp, updateOAuthApp) → `server/meteor-methods/auth/` - `app/settings/server/` → `server/settings/` (merge with existing) - `app/theme/server/` → `server/settings/theme/` - `app/utils/server/` → `server/lib/utils/` diff --git a/apps/meteor/app/2fa/server/index.ts b/apps/meteor/app/2fa/server/index.ts index 783232a610eb2..548c151ac1859 100644 --- a/apps/meteor/app/2fa/server/index.ts +++ b/apps/meteor/app/2fa/server/index.ts @@ -1,7 +1,2 @@ import './MethodInvocationOverride'; -import './methods/checkCodesRemaining'; -import './methods/disable'; -import './methods/enable'; -import './methods/regenerateCodes'; -import './methods/validateTempToken'; import './loginHandler'; diff --git a/apps/meteor/app/apps/server/bridges/messages.ts b/apps/meteor/app/apps/server/bridges/messages.ts index 49964faf49e6c..ab45094722b2c 100644 --- a/apps/meteor/app/apps/server/bridges/messages.ts +++ b/apps/meteor/app/apps/server/bridges/messages.ts @@ -9,7 +9,7 @@ import { Users, Subscriptions } from '@rocket.chat/models'; import { deleteMessage } from '../../../../server/lib/messages/deleteMessage'; import { updateMessage } from '../../../../server/lib/messages/updateMessage'; -import { executeSendMessage } from '../../../lib/server/methods/sendMessage'; +import { executeSendMessage } from '../../../../server/meteor-methods/messages/sendMessage'; import notifications from '../../../notifications/server/lib/Notifications'; import { executeSetReaction } from '../../../reactions/server/setReaction'; diff --git a/apps/meteor/app/apps/server/bridges/rooms.ts b/apps/meteor/app/apps/server/bridges/rooms.ts index a9bca69ee7e56..76c2dbcbe1737 100644 --- a/apps/meteor/app/apps/server/bridges/rooms.ts +++ b/apps/meteor/app/apps/server/bridges/rooms.ts @@ -12,10 +12,10 @@ import type { FindOptions, Sort } from 'mongodb'; import { addUserToRoom } from '../../../../server/lib/rooms/addUserToRoom'; import { deleteRoom } from '../../../../server/lib/rooms/deleteRoom'; import { removeUserFromRoom } from '../../../../server/lib/rooms/removeUserFromRoom'; -import { createDirectMessage } from '../../../../server/methods/createDirectMessage'; -import { createDiscussion } from '../../../discussion/server/methods/createDiscussion'; -import { createChannelMethod } from '../../../lib/server/methods/createChannel'; -import { createPrivateGroupMethod } from '../../../lib/server/methods/createPrivateGroup'; +import { createDirectMessage } from '../../../../server/meteor-methods/messages/createDirectMessage'; +import { createDiscussion } from '../../../../server/meteor-methods/messages/createDiscussion'; +import { createChannelMethod } from '../../../../server/meteor-methods/rooms/createChannel'; +import { createPrivateGroupMethod } from '../../../../server/meteor-methods/rooms/createPrivateGroup'; const rawRoomProjection: FindOptions['projection'] = { _id: 1, diff --git a/apps/meteor/app/apps/server/bridges/uploads.ts b/apps/meteor/app/apps/server/bridges/uploads.ts index 929e70743c557..3947996a7eb78 100644 --- a/apps/meteor/app/apps/server/bridges/uploads.ts +++ b/apps/meteor/app/apps/server/bridges/uploads.ts @@ -4,9 +4,9 @@ import type { IUpload } from '@rocket.chat/apps-engine/definition/uploads'; import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails'; import { determineFileType } from '../../../../ee/lib/misc/determineFileType'; +import { sendFileLivechatMessage } from '../../../../server/meteor-methods/omnichannel/sendFileLivechatMessage'; import { FileUpload } from '../../../file-upload/server'; import { sendFileMessage } from '../../../file-upload/server/methods/sendFileMessage'; -import { sendFileLivechatMessage } from '../../../livechat/server/methods/sendFileLivechatMessage'; const getUploadDetails = (details: IUploadDetails): Partial => { if (details.visitorToken) { diff --git a/apps/meteor/app/authorization/server/index.ts b/apps/meteor/app/authorization/server/index.ts index 54b68dee0264b..223106379fa0d 100644 --- a/apps/meteor/app/authorization/server/index.ts +++ b/apps/meteor/app/authorization/server/index.ts @@ -2,9 +2,6 @@ import { roomAccessAttributes, canAccessRoomAsync } from '../../../server/lib/au import { getRoles } from '../../../server/lib/authorization/getRoles'; import { getUsersInRole } from '../../../server/lib/authorization/getUsersInRole'; import { subscriptionHasRole } from '../../../server/lib/authorization/hasRole'; -import './methods/addPermissionToRole'; -import './methods/addUserToRole'; -import './methods/removeRoleFromPermission'; import './streamer/permissions'; export { getRoles, getUsersInRole, subscriptionHasRole, canAccessRoomAsync, roomAccessAttributes }; diff --git a/apps/meteor/app/autotranslate/server/index.ts b/apps/meteor/app/autotranslate/server/index.ts index e98a30265b12d..443fc16d3bc13 100644 --- a/apps/meteor/app/autotranslate/server/index.ts +++ b/apps/meteor/app/autotranslate/server/index.ts @@ -5,13 +5,9 @@ import { TranslationProviderRegistry } from './autotranslate'; import './permissions'; -import './methods/getSupportedLanguages'; -import './methods/saveSettings'; -import './methods/translateMessage'; import './googleTranslate'; import './deeplTranslate'; import './libreTranslate'; import './msTranslate'; -import './methods/getProviderUiMetadata'; export { TranslationProviderRegistry }; diff --git a/apps/meteor/app/channel-settings/server/index.ts b/apps/meteor/app/channel-settings/server/index.ts index 39242cef11109..2e33e1eafea99 100644 --- a/apps/meteor/app/channel-settings/server/index.ts +++ b/apps/meteor/app/channel-settings/server/index.ts @@ -1,4 +1,2 @@ -import './methods/saveRoomSettings'; - export { saveRoomTopic } from './functions/saveRoomTopic'; export { saveRoomName } from './functions/saveRoomName'; diff --git a/apps/meteor/app/discussion/server/index.ts b/apps/meteor/app/discussion/server/index.ts index 6235f5c5b1a4f..f55b1d737379f 100644 --- a/apps/meteor/app/discussion/server/index.ts +++ b/apps/meteor/app/discussion/server/index.ts @@ -1,6 +1,3 @@ import './permissions'; import './hooks/propagateDiscussionMetadata'; - -// Methods -import './methods/createDiscussion'; diff --git a/apps/meteor/app/e2e/server/index.ts b/apps/meteor/app/e2e/server/index.ts index 8c8c59488fd79..74b5dbcbca589 100644 --- a/apps/meteor/app/e2e/server/index.ts +++ b/apps/meteor/app/e2e/server/index.ts @@ -3,13 +3,6 @@ import { api } from '@rocket.chat/core-services'; import { callbacks } from '../../../server/lib/callbacks'; import './beforeCreateRoom'; -import './methods/setUserPublicAndPrivateKeys'; -import './methods/getUsersOfRoomWithoutKey'; -import './methods/updateGroupKey'; -import './methods/setRoomKeyID'; -import './methods/fetchMyKeys'; -import './methods/resetOwnE2EKey'; -import './methods/requestSubscriptionKeys'; callbacks.add( 'afterJoinRoom', diff --git a/apps/meteor/app/file-upload/server/methods/sendFileMessage.spec.ts b/apps/meteor/app/file-upload/server/methods/sendFileMessage.spec.ts index b88646d1d5698..f1f4a41a63de2 100644 --- a/apps/meteor/app/file-upload/server/methods/sendFileMessage.spec.ts +++ b/apps/meteor/app/file-upload/server/methods/sendFileMessage.spec.ts @@ -37,7 +37,7 @@ const { parseFileIntoMessageAttachments } = proxyquire.noCallThru().load('./send '../../../../server/lib/callbacks': { callbacks: { runAsync: sinon.stub() } }, '../../../../server/lib/logger/system': { SystemLogger: { error: sinon.stub() } }, '../../../../server/lib/authorization/canAccessRoom': { canAccessRoomAsync: sinon.stub().resolves(true) }, - '../../../lib/server/methods/sendMessage': { executeSendMessage: sinon.stub().resolves({}) }, + '../../../../server/meteor-methods/messages/sendMessage': { executeSendMessage: sinon.stub().resolves({}) }, }); describe('sendFileMessage - Mass Assignment & Type Pollution Prevention', () => { diff --git a/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts b/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts index 0d59155a77360..fab3372d5da95 100644 --- a/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts +++ b/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts @@ -18,8 +18,8 @@ import { getFileExtension } from '../../../../lib/utils/getFileExtension'; import { canAccessRoomAsync } from '../../../../server/lib/authorization/canAccessRoom'; import { callbacks } from '../../../../server/lib/callbacks'; import { SystemLogger } from '../../../../server/lib/logger/system'; +import { executeSendMessage } from '../../../../server/meteor-methods/messages/sendMessage'; import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { executeSendMessage } from '../../../lib/server/methods/sendMessage'; import { FileUpload } from '../lib/FileUpload'; function validateFileRequiredFields(file: Partial): asserts file is AtLeast { diff --git a/apps/meteor/app/importer/server/classes/converters/RoomConverter.ts b/apps/meteor/app/importer/server/classes/converters/RoomConverter.ts index 97ed061ec8377..1bce98c63a6f5 100644 --- a/apps/meteor/app/importer/server/classes/converters/RoomConverter.ts +++ b/apps/meteor/app/importer/server/classes/converters/RoomConverter.ts @@ -4,11 +4,11 @@ import { removeEmpty } from '@rocket.chat/tools'; import limax from 'limax'; import { RecordConverter } from './RecordConverter'; -import { createDirectMessage } from '../../../../../server/methods/createDirectMessage'; -import { saveRoomSettings } from '../../../../channel-settings/server/methods/saveRoomSettings'; +import { createDirectMessage } from '../../../../../server/meteor-methods/messages/createDirectMessage'; +import { createChannelMethod } from '../../../../../server/meteor-methods/rooms/createChannel'; +import { createPrivateGroupMethod } from '../../../../../server/meteor-methods/rooms/createPrivateGroup'; +import { saveRoomSettings } from '../../../../../server/meteor-methods/rooms/saveRoomSettings'; import { notifyOnSubscriptionChangedByRoomId } from '../../../../lib/server/lib/notifyListener'; -import { createChannelMethod } from '../../../../lib/server/methods/createChannel'; -import { createPrivateGroupMethod } from '../../../../lib/server/methods/createPrivateGroup'; import type { IConversionCallbacks } from '../../definitions/IConversionCallbacks'; export class RoomConverter extends RecordConverter { diff --git a/apps/meteor/app/importer/server/index.ts b/apps/meteor/app/importer/server/index.ts index 02949733174c5..1df27c40aefc6 100644 --- a/apps/meteor/app/importer/server/index.ts +++ b/apps/meteor/app/importer/server/index.ts @@ -5,7 +5,6 @@ import { SelectionChannel } from './classes/ImporterSelectionChannel'; import { SelectionUser } from './classes/ImporterSelectionUser'; import { ImporterWebsocket } from './classes/ImporterWebsocket'; import { ImportersContainer } from './classes/ImportersContainer'; -import './methods'; import './startup/setImportsToInvalid'; import './startup/store'; diff --git a/apps/meteor/app/importer/server/methods/index.ts b/apps/meteor/app/importer/server/methods/index.ts deleted file mode 100644 index 0136565a1185f..0000000000000 --- a/apps/meteor/app/importer/server/methods/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './getImportProgress'; -export * from './startImport'; -export * from './uploadImportFile'; -export * from './getImportFileData'; -export * from './downloadPublicImportFile'; -export * from './getLatestImportOperations'; diff --git a/apps/meteor/app/integrations/server/api/api.ts b/apps/meteor/app/integrations/server/api/api.ts index 246e302fe960e..9265fed6161fa 100644 --- a/apps/meteor/app/integrations/server/api/api.ts +++ b/apps/meteor/app/integrations/server/api/api.ts @@ -20,12 +20,12 @@ import { tracerSpanMiddleware } from '../../../../server/api/v1/middlewares/trac import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; import type { WebhookResponseItem } from '../../../../server/lib/messages/processWebhookMessage'; import { processWebhookMessage } from '../../../../server/lib/messages/processWebhookMessage'; +import { addOutgoingIntegration } from '../../../../server/meteor-methods/integrations/outgoing/addOutgoingIntegration'; +import { deleteOutgoingIntegration } from '../../../../server/meteor-methods/integrations/outgoing/deleteOutgoingIntegration'; import { metrics } from '../../../metrics/server'; import { settings } from '../../../settings/server'; import { IsolatedVMScriptEngine } from '../lib/isolated-vm/isolated-vm'; import { incomingLogger, integrationLogger } from '../logger'; -import { addOutgoingIntegration } from '../methods/outgoing/addOutgoingIntegration'; -import { deleteOutgoingIntegration } from '../methods/outgoing/deleteOutgoingIntegration'; const ivmEngine = new IsolatedVMScriptEngine(true); diff --git a/apps/meteor/app/integrations/server/index.ts b/apps/meteor/app/integrations/server/index.ts index ea3dbd71dd6ee..f645d275e022f 100644 --- a/apps/meteor/app/integrations/server/index.ts +++ b/apps/meteor/app/integrations/server/index.ts @@ -1,13 +1,5 @@ import './logger'; import './lib/validateOutgoingIntegration'; -import './methods/incoming/addIncomingIntegration'; -import './methods/incoming/updateIncomingIntegration'; -import './methods/incoming/deleteIncomingIntegration'; -import './methods/outgoing/addOutgoingIntegration'; -import './methods/outgoing/updateOutgoingIntegration'; -import './methods/outgoing/replayOutgoingIntegration'; -import './methods/outgoing/deleteOutgoingIntegration'; -import './methods/clearIntegrationHistory'; import './api/api'; import './lib/triggerHandler'; import './triggers'; diff --git a/apps/meteor/app/lib/server/index.ts b/apps/meteor/app/lib/server/index.ts index 9fb7c341b83e4..9a9c1e8d085fe 100644 --- a/apps/meteor/app/lib/server/index.ts +++ b/apps/meteor/app/lib/server/index.ts @@ -7,40 +7,6 @@ import './oauth/facebook'; import './oauth/google'; import './oauth/proxy'; import './oauth/twitter'; -import './methods/addOAuthService'; -import './methods/addUsersToRoom'; -import './methods/addUserToRoom'; -import './methods/archiveRoom'; -import './methods/blockUser'; -import './methods/checkRegistrationSecretURL'; -import './methods/cleanRoomHistory'; -import './methods/createChannel'; -import './methods/createPrivateGroup'; -import './methods/deleteUserOwnAccount'; -import './methods/executeSlashCommandPreview'; import './startup/mentionUserNotInChannel'; -import './methods/getChannelHistory'; -import './methods/getRoomJoinCode'; -import './methods/getRoomRoles'; -import './methods/getSingleMessage'; -import './methods/getMessages'; -import './methods/getSlashCommandPreviews'; -import './methods/getUsernameSuggestion'; -import './methods/joinDefaultChannels'; -import './methods/joinRoom'; -import './methods/leaveRoom'; -import './methods/refreshOAuthService'; -import './methods/removeOAuthService'; -import './methods/restartServer'; -import './methods/saveSetting'; -import './methods/saveSettings'; -import './methods/sendMessage'; -import './methods/sendSMTPTestEmail'; -import './methods/setEmail'; -import './methods/setRealName'; -import './methods/unarchiveRoom'; -import './methods/unblockUser'; -import './methods/updateMessage'; -import './methods/checkFederationConfiguration'; export * from './lib'; diff --git a/apps/meteor/app/livechat/server/index.ts b/apps/meteor/app/livechat/server/index.ts index 0a6b6131e86f3..b30aeb8aabe17 100644 --- a/apps/meteor/app/livechat/server/index.ts +++ b/apps/meteor/app/livechat/server/index.ts @@ -14,8 +14,6 @@ import './hooks/saveLastMessageToInquiry'; import './hooks/afterUserActions'; import './hooks/afterAgentRemoved'; import './hooks/afterSaveOmnichannelMessage'; -import './methods/sendMessageLivechat'; -import './methods/sendFileLivechatMessage'; import './lib/QueueManager'; import './lib/RoutingManager'; import './lib/routing/External'; diff --git a/apps/meteor/app/livechat/server/methods/saveBusinessHour.ts b/apps/meteor/app/livechat/server/methods/saveBusinessHour.ts deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/apps/meteor/app/search/server/provider/DefaultProvider.ts b/apps/meteor/app/search/server/provider/DefaultProvider.ts index c8ae2e0e8dff0..a59283f9a1d52 100644 --- a/apps/meteor/app/search/server/provider/DefaultProvider.ts +++ b/apps/meteor/app/search/server/provider/DefaultProvider.ts @@ -1,6 +1,6 @@ import type { IRoom, IUser } from '@rocket.chat/core-typings'; -import { messageSearch } from '../../../../server/methods/messageSearch'; +import { messageSearch } from '../../../../server/meteor-methods/messages/messageSearch'; import type { IRawSearchResult } from '../model/ISearchResult'; import { SearchProvider } from '../model/SearchProvider'; diff --git a/apps/meteor/app/threads/server/index.ts b/apps/meteor/app/threads/server/index.ts index 214190032e0d4..015ef46fd3598 100644 --- a/apps/meteor/app/threads/server/index.ts +++ b/apps/meteor/app/threads/server/index.ts @@ -1,2 +1 @@ import './hooks'; -import './methods'; diff --git a/apps/meteor/app/threads/server/methods/index.ts b/apps/meteor/app/threads/server/methods/index.ts deleted file mode 100644 index 4e6ed3003b11f..0000000000000 --- a/apps/meteor/app/threads/server/methods/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import './followMessage'; -import './getThreadMessages'; -import './getThreadsList'; -import './unfollowMessage'; diff --git a/apps/meteor/ee/app/canned-responses/server/index.ts b/apps/meteor/ee/app/canned-responses/server/index.ts index 01ee26b38f993..7a4e7f6ce49c9 100644 --- a/apps/meteor/ee/app/canned-responses/server/index.ts +++ b/apps/meteor/ee/app/canned-responses/server/index.ts @@ -6,8 +6,8 @@ await License.onLicense('canned-responses', async () => { await import('./hooks/onRemoveAgentDepartment'); await import('./hooks/onSaveAgentDepartment'); await import('./hooks/cannedResponses'); - await import('./methods/saveCannedResponse'); - await import('./methods/removeCannedResponse'); + await import('../../../server/meteor-methods/saveCannedResponse'); + await import('../../../server/meteor-methods/removeCannedResponse'); await createSettings(); }); diff --git a/apps/meteor/ee/app/license/server/index.ts b/apps/meteor/ee/app/license/server/index.ts index 9177532a9e213..23f769f016a1f 100644 --- a/apps/meteor/ee/app/license/server/index.ts +++ b/apps/meteor/ee/app/license/server/index.ts @@ -1,2 +1,2 @@ import './settings'; -import './methods'; +import '../../../server/meteor-methods/license'; diff --git a/apps/meteor/ee/app/livechat-enterprise/server/methods/removeBusinessHour.ts b/apps/meteor/ee/app/livechat-enterprise/server/methods/removeBusinessHour.ts deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/apps/meteor/ee/server/api/chat.ts b/apps/meteor/ee/server/api/chat.ts index d3fcefb7efbc8..55e567141f054 100644 --- a/apps/meteor/ee/server/api/chat.ts +++ b/apps/meteor/ee/server/api/chat.ts @@ -3,7 +3,7 @@ import { License } from '@rocket.chat/license'; import { Meteor } from 'meteor/meteor'; import { API } from '../../../server/api/api'; -import { getReadReceiptsFunction } from '../methods/getReadReceipts'; +import { getReadReceiptsFunction } from '../meteor-methods/getReadReceipts'; type GetMessageReadReceiptsProps = { messageId: IMessage['_id']; diff --git a/apps/meteor/ee/server/api/v1/canned-responses.ts b/apps/meteor/ee/server/api/v1/canned-responses.ts index e6af41a90e70a..05b73baba5ba5 100644 --- a/apps/meteor/ee/server/api/v1/canned-responses.ts +++ b/apps/meteor/ee/server/api/v1/canned-responses.ts @@ -4,8 +4,8 @@ import type { PaginatedResult, PaginatedRequest } from '@rocket.chat/rest-typing import { API } from '../../../../server/api'; import { getPaginationItems } from '../../../../server/api/lib/getPaginationItems'; -import { removeCannedResponse } from '../../../app/canned-responses/server/methods/removeCannedResponse'; -import { saveCannedResponse } from '../../../app/canned-responses/server/methods/saveCannedResponse'; +import { removeCannedResponse } from '../../meteor-methods/removeCannedResponse'; +import { saveCannedResponse } from '../../meteor-methods/saveCannedResponse'; import { findAllCannedResponses, findAllCannedResponsesFilter, findOneCannedResponse } from '../lib/canned-responses'; declare module '@rocket.chat/rest-typings' { diff --git a/apps/meteor/ee/server/index.ts b/apps/meteor/ee/server/index.ts index 014e51cf4cf1d..e6b0cd350d530 100644 --- a/apps/meteor/ee/server/index.ts +++ b/apps/meteor/ee/server/index.ts @@ -10,7 +10,7 @@ import '../app/settings/server/index'; import './requestSeatsRoute'; import './configuration/index'; import './local-services/ldap/service'; -import './methods/getReadReceipts'; +import './meteor-methods/getReadReceipts'; import './patches'; import './hooks/federation'; diff --git a/apps/meteor/ee/server/methods/getReadReceipts.ts b/apps/meteor/ee/server/meteor-methods/getReadReceipts.ts similarity index 100% rename from apps/meteor/ee/server/methods/getReadReceipts.ts rename to apps/meteor/ee/server/meteor-methods/getReadReceipts.ts diff --git a/apps/meteor/ee/app/license/server/methods.ts b/apps/meteor/ee/server/meteor-methods/license.ts similarity index 92% rename from apps/meteor/ee/app/license/server/methods.ts rename to apps/meteor/ee/server/meteor-methods/license.ts index 51eed30e6f619..08e3996098ce4 100644 --- a/apps/meteor/ee/app/license/server/methods.ts +++ b/apps/meteor/ee/server/meteor-methods/license.ts @@ -4,7 +4,7 @@ import { License } from '@rocket.chat/license'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../../../app/lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/ee/app/canned-responses/server/methods/removeCannedResponse.ts b/apps/meteor/ee/server/meteor-methods/removeCannedResponse.ts similarity index 81% rename from apps/meteor/ee/app/canned-responses/server/methods/removeCannedResponse.ts rename to apps/meteor/ee/server/meteor-methods/removeCannedResponse.ts index e4bef13e0b217..1acd19c291ea1 100644 --- a/apps/meteor/ee/app/canned-responses/server/methods/removeCannedResponse.ts +++ b/apps/meteor/ee/server/meteor-methods/removeCannedResponse.ts @@ -2,8 +2,8 @@ import { CannedResponse } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import notifications from '../../../../../app/notifications/server/lib/Notifications'; -import { hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; +import notifications from '../../../app/notifications/server/lib/Notifications'; +import { hasPermissionAsync } from '../../../server/lib/authorization/hasPermission'; export const removeCannedResponse = async (uid: string, _id: string): Promise => { if (!(await hasPermissionAsync(uid, 'remove-canned-responses'))) { diff --git a/apps/meteor/ee/app/canned-responses/server/methods/saveCannedResponse.ts b/apps/meteor/ee/server/meteor-methods/saveCannedResponse.ts similarity index 95% rename from apps/meteor/ee/app/canned-responses/server/methods/saveCannedResponse.ts rename to apps/meteor/ee/server/meteor-methods/saveCannedResponse.ts index c7a500d15f90e..4f26b9bf6740f 100644 --- a/apps/meteor/ee/app/canned-responses/server/methods/saveCannedResponse.ts +++ b/apps/meteor/ee/server/meteor-methods/saveCannedResponse.ts @@ -3,8 +3,8 @@ import { LivechatDepartment, CannedResponse, Users } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import notifications from '../../../../../app/notifications/server/lib/Notifications'; -import { hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; +import notifications from '../../../app/notifications/server/lib/Notifications'; +import { hasPermissionAsync } from '../../../server/lib/authorization/hasPermission'; type ResponseData = { shortcut: string; diff --git a/apps/meteor/scripts/migration/phase5-ee-methods.tsv b/apps/meteor/scripts/migration/phase5-ee-methods.tsv new file mode 100644 index 0000000000000..2409e93c6de6e --- /dev/null +++ b/apps/meteor/scripts/migration/phase5-ee-methods.tsv @@ -0,0 +1,7 @@ +# Phase 5 EE mirror: methods → ee/server/meteor-methods +# Format: old-pathnew-path (relative to apps/meteor/) +ee/server/methods ee/server/meteor-methods +ee/app/canned-responses/server/methods/saveCannedResponse.ts ee/server/meteor-methods/saveCannedResponse.ts +ee/app/canned-responses/server/methods/removeCannedResponse.ts ee/server/meteor-methods/removeCannedResponse.ts +ee/app/license/server/methods.ts ee/server/meteor-methods/license.ts +ee/app/livechat-enterprise/server/methods/removeBusinessHour.ts ee/server/meteor-methods/omnichannel/removeBusinessHour.ts diff --git a/apps/meteor/scripts/migration/phase5a-flat-methods.tsv b/apps/meteor/scripts/migration/phase5a-flat-methods.tsv new file mode 100644 index 0000000000000..2843d189279c1 --- /dev/null +++ b/apps/meteor/scripts/migration/phase5a-flat-methods.tsv @@ -0,0 +1,49 @@ +# Phase 5a: existing flat server/meteor-methods files → domain subfolders +# Format: old-pathnew-path (relative to apps/meteor/) +server/meteor-methods/deleteUser.ts server/meteor-methods/users/deleteUser.ts +server/meteor-methods/setUserActiveStatus.ts server/meteor-methods/users/setUserActiveStatus.ts +server/meteor-methods/registerUser.ts server/meteor-methods/users/registerUser.ts +server/meteor-methods/resetAvatar.ts server/meteor-methods/users/resetAvatar.ts +server/meteor-methods/setAvatarFromService.ts server/meteor-methods/users/setAvatarFromService.ts +server/meteor-methods/saveUserPreferences.ts server/meteor-methods/users/saveUserPreferences.ts +server/meteor-methods/saveUserProfile.ts server/meteor-methods/users/saveUserProfile.ts +server/meteor-methods/getUsersOfRoom.ts server/meteor-methods/users/getUsersOfRoom.ts +server/meteor-methods/userPresence.ts server/meteor-methods/users/userPresence.ts +server/meteor-methods/userSetUtcOffset.ts server/meteor-methods/users/userSetUtcOffset.ts +server/meteor-methods/ignoreUser.ts server/meteor-methods/users/ignoreUser.ts +server/meteor-methods/addAllUserToRoom.ts server/meteor-methods/rooms/addAllUserToRoom.ts +server/meteor-methods/addRoomLeader.ts server/meteor-methods/rooms/addRoomLeader.ts +server/meteor-methods/addRoomModerator.ts server/meteor-methods/rooms/addRoomModerator.ts +server/meteor-methods/addRoomOwner.ts server/meteor-methods/rooms/addRoomOwner.ts +server/meteor-methods/removeRoomLeader.ts server/meteor-methods/rooms/removeRoomLeader.ts +server/meteor-methods/removeRoomModerator.ts server/meteor-methods/rooms/removeRoomModerator.ts +server/meteor-methods/removeRoomOwner.ts server/meteor-methods/rooms/removeRoomOwner.ts +server/meteor-methods/removeUserFromRoom.ts server/meteor-methods/rooms/removeUserFromRoom.ts +server/meteor-methods/getRoomById.ts server/meteor-methods/rooms/getRoomById.ts +server/meteor-methods/getRoomIdByNameOrId.ts server/meteor-methods/rooms/getRoomIdByNameOrId.ts +server/meteor-methods/getRoomNameById.ts server/meteor-methods/rooms/getRoomNameById.ts +server/meteor-methods/browseChannels.ts server/meteor-methods/rooms/browseChannels.ts +server/meteor-methods/channelsList.ts server/meteor-methods/rooms/channelsList.ts +server/meteor-methods/getTotalChannels.ts server/meteor-methods/rooms/getTotalChannels.ts +server/meteor-methods/hideRoom.ts server/meteor-methods/rooms/hideRoom.ts +server/meteor-methods/openRoom.ts server/meteor-methods/rooms/openRoom.ts +server/meteor-methods/toggleFavorite.ts server/meteor-methods/rooms/toggleFavorite.ts +server/meteor-methods/muteUserInRoom.ts server/meteor-methods/rooms/muteUserInRoom.ts +server/meteor-methods/unmuteUserInRoom.ts server/meteor-methods/rooms/unmuteUserInRoom.ts +server/meteor-methods/createDirectMessage.ts server/meteor-methods/messages/createDirectMessage.ts +server/meteor-methods/deleteFileMessage.ts server/meteor-methods/messages/deleteFileMessage.ts +server/meteor-methods/messageSearch.ts server/meteor-methods/messages/messageSearch.ts +server/meteor-methods/loadHistory.ts server/meteor-methods/messages/loadHistory.ts +server/meteor-methods/loadMissedMessages.ts server/meteor-methods/messages/loadMissedMessages.ts +server/meteor-methods/loadNextMessages.ts server/meteor-methods/messages/loadNextMessages.ts +server/meteor-methods/loadSurroundingMessages.ts server/meteor-methods/messages/loadSurroundingMessages.ts +server/meteor-methods/readMessages.ts server/meteor-methods/messages/readMessages.ts +server/meteor-methods/readThreads.ts server/meteor-methods/messages/readThreads.ts +server/meteor-methods/afterVerifyEmail.ts server/meteor-methods/auth/afterVerifyEmail.ts +server/meteor-methods/sendConfirmationEmail.ts server/meteor-methods/auth/sendConfirmationEmail.ts +server/meteor-methods/sendForgotPasswordEmail.ts server/meteor-methods/auth/sendForgotPasswordEmail.ts +server/meteor-methods/logoutCleanUp.ts server/meteor-methods/auth/logoutCleanUp.ts +server/meteor-methods/getSetupWizardParameters.ts server/meteor-methods/settings/getSetupWizardParameters.ts +server/meteor-methods/loadLocale.ts server/meteor-methods/platform/loadLocale.ts +server/meteor-methods/OEmbedCacheCleanup.ts server/meteor-methods/platform/OEmbedCacheCleanup.ts +server/meteor-methods/requestDataDownload.ts server/meteor-methods/platform/requestDataDownload.ts diff --git a/apps/meteor/scripts/migration/phase5b-lib-methods.tsv b/apps/meteor/scripts/migration/phase5b-lib-methods.tsv new file mode 100644 index 0000000000000..4cf4b4331ef0b --- /dev/null +++ b/apps/meteor/scripts/migration/phase5b-lib-methods.tsv @@ -0,0 +1,37 @@ +# Phase 5b: app/lib/server/methods → server/meteor-methods/ +# Format: old-pathnew-path (relative to apps/meteor/) +app/lib/server/methods/setRealName.ts server/meteor-methods/users/setRealName.ts +app/lib/server/methods/setEmail.ts server/meteor-methods/users/setEmail.ts +app/lib/server/methods/blockUser.ts server/meteor-methods/users/blockUser.ts +app/lib/server/methods/unblockUser.ts server/meteor-methods/users/unblockUser.ts +app/lib/server/methods/deleteUserOwnAccount.ts server/meteor-methods/users/deleteUserOwnAccount.ts +app/lib/server/methods/getUsernameSuggestion.ts server/meteor-methods/users/getUsernameSuggestion.ts +app/lib/server/methods/createChannel.ts server/meteor-methods/rooms/createChannel.ts +app/lib/server/methods/createPrivateGroup.ts server/meteor-methods/rooms/createPrivateGroup.ts +app/lib/server/methods/addUserToRoom.ts server/meteor-methods/rooms/addUserToRoom.ts +app/lib/server/methods/addUsersToRoom.ts server/meteor-methods/rooms/addUsersToRoom.ts +app/lib/server/methods/archiveRoom.ts server/meteor-methods/rooms/archiveRoom.ts +app/lib/server/methods/unarchiveRoom.ts server/meteor-methods/rooms/unarchiveRoom.ts +app/lib/server/methods/leaveRoom.ts server/meteor-methods/rooms/leaveRoom.ts +app/lib/server/methods/joinRoom.ts server/meteor-methods/rooms/joinRoom.ts +app/lib/server/methods/joinDefaultChannels.ts server/meteor-methods/rooms/joinDefaultChannels.ts +app/lib/server/methods/cleanRoomHistory.ts server/meteor-methods/rooms/cleanRoomHistory.ts +app/lib/server/methods/getRoomJoinCode.ts server/meteor-methods/rooms/getRoomJoinCode.ts +app/lib/server/methods/getRoomRoles.ts server/meteor-methods/rooms/getRoomRoles.ts +app/lib/server/methods/sendMessage.ts server/meteor-methods/messages/sendMessage.ts +app/lib/server/methods/updateMessage.ts server/meteor-methods/messages/updateMessage.ts +app/lib/server/methods/getChannelHistory.ts server/meteor-methods/messages/getChannelHistory.ts +app/lib/server/methods/getMessages.ts server/meteor-methods/messages/getMessages.ts +app/lib/server/methods/getSingleMessage.ts server/meteor-methods/messages/getSingleMessage.ts +app/lib/server/methods/executeSlashCommandPreview.ts server/meteor-methods/messages/executeSlashCommandPreview.ts +app/lib/server/methods/getSlashCommandPreviews.ts server/meteor-methods/messages/getSlashCommandPreviews.ts +app/lib/server/methods/addOAuthService.ts server/meteor-methods/auth/addOAuthService.ts +app/lib/server/methods/refreshOAuthService.ts server/meteor-methods/auth/refreshOAuthService.ts +app/lib/server/methods/removeOAuthService.ts server/meteor-methods/auth/removeOAuthService.ts +app/lib/server/methods/createToken.ts server/meteor-methods/auth/createToken.ts +app/lib/server/methods/checkRegistrationSecretURL.ts server/meteor-methods/auth/checkRegistrationSecretURL.ts +app/lib/server/methods/saveSetting.ts server/meteor-methods/settings/saveSetting.ts +app/lib/server/methods/saveSettings.ts server/meteor-methods/settings/saveSettings.ts +app/lib/server/methods/sendSMTPTestEmail.ts server/meteor-methods/settings/sendSMTPTestEmail.ts +app/lib/server/methods/restartServer.ts server/meteor-methods/platform/restartServer.ts +app/lib/server/methods/checkFederationConfiguration.ts server/meteor-methods/platform/checkFederationConfiguration.ts diff --git a/apps/meteor/scripts/migration/phase5c-feature-methods.tsv b/apps/meteor/scripts/migration/phase5c-feature-methods.tsv new file mode 100644 index 0000000000000..f31a0814eeaf6 --- /dev/null +++ b/apps/meteor/scripts/migration/phase5c-feature-methods.tsv @@ -0,0 +1,33 @@ +# Phase 5c: feature methods → server/meteor-methods/ +# Format: old-pathnew-path (relative to apps/meteor/) +app/authorization/server/methods/addPermissionToRole.ts server/meteor-methods/auth/addPermissionToRole.ts +app/authorization/server/methods/addUserToRole.ts server/meteor-methods/auth/addUserToRole.ts +app/authorization/server/methods/removeRoleFromPermission.ts server/meteor-methods/auth/removeRoleFromPermission.ts +app/authorization/server/methods/removeUserFromRole.ts server/meteor-methods/auth/removeUserFromRole.ts +app/2fa/server/methods/checkCodesRemaining.ts server/meteor-methods/auth/checkCodesRemaining.ts +app/2fa/server/methods/disable.ts server/meteor-methods/auth/disable.ts +app/2fa/server/methods/enable.ts server/meteor-methods/auth/enable.ts +app/2fa/server/methods/regenerateCodes.ts server/meteor-methods/auth/regenerateCodes.ts +app/2fa/server/methods/validateTempToken.ts server/meteor-methods/auth/validateTempToken.ts +app/channel-settings/server/methods/saveRoomSettings.ts server/meteor-methods/rooms/saveRoomSettings.ts +app/threads/server/methods/followMessage.ts server/meteor-methods/messages/followMessage.ts +app/threads/server/methods/getThreadMessages.ts server/meteor-methods/messages/getThreadMessages.ts +app/threads/server/methods/getThreadsList.ts server/meteor-methods/messages/getThreadsList.ts +app/threads/server/methods/unfollowMessage.ts server/meteor-methods/messages/unfollowMessage.ts +app/discussion/server/methods/createDiscussion.ts server/meteor-methods/messages/createDiscussion.ts +app/livechat/server/methods/saveBusinessHour.ts server/meteor-methods/omnichannel/saveBusinessHour.ts +app/livechat/server/methods/sendFileLivechatMessage.ts server/meteor-methods/omnichannel/sendFileLivechatMessage.ts +app/livechat/server/methods/sendMessageLivechat.ts server/meteor-methods/omnichannel/sendMessageLivechat.ts +app/integrations/server/methods server/meteor-methods/integrations +app/importer/server/methods server/meteor-methods/import +app/autotranslate/server/methods/getProviderUiMetadata.ts server/meteor-methods/platform/getProviderUiMetadata.ts +app/autotranslate/server/methods/getSupportedLanguages.ts server/meteor-methods/platform/getSupportedLanguages.ts +app/autotranslate/server/methods/saveSettings.ts server/meteor-methods/platform/saveSettings.ts +app/autotranslate/server/methods/translateMessage.ts server/meteor-methods/platform/translateMessage.ts +app/e2e/server/methods/fetchMyKeys.ts server/meteor-methods/platform/fetchMyKeys.ts +app/e2e/server/methods/getUsersOfRoomWithoutKey.ts server/meteor-methods/platform/getUsersOfRoomWithoutKey.ts +app/e2e/server/methods/requestSubscriptionKeys.ts server/meteor-methods/platform/requestSubscriptionKeys.ts +app/e2e/server/methods/resetOwnE2EKey.ts server/meteor-methods/platform/resetOwnE2EKey.ts +app/e2e/server/methods/setRoomKeyID.ts server/meteor-methods/platform/setRoomKeyID.ts +app/e2e/server/methods/setUserPublicAndPrivateKeys.ts server/meteor-methods/platform/setUserPublicAndPrivateKeys.ts +app/e2e/server/methods/updateGroupKey.ts server/meteor-methods/platform/updateGroupKey.ts diff --git a/apps/meteor/server/api/v1/channels.ts b/apps/meteor/server/api/v1/channels.ts index 654f1a170a7ee..bb20a86d62e67 100644 --- a/apps/meteor/server/api/v1/channels.ts +++ b/apps/meteor/server/api/v1/channels.ts @@ -35,15 +35,7 @@ import { check, Match } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import { canAccessRoomAsync } from '../../../app/authorization/server'; -import { saveRoomSettings } from '../../../app/channel-settings/server/methods/saveRoomSettings'; import { mountIntegrationQueryBasedOnPermissions } from '../../../app/integrations/server/lib/mountQueriesBasedOnPermission'; -import { addUsersToRoomMethod } from '../../../app/lib/server/methods/addUsersToRoom'; -import { executeArchiveRoom } from '../../../app/lib/server/methods/archiveRoom'; -import { createChannelMethod } from '../../../app/lib/server/methods/createChannel'; -import { getChannelHistory } from '../../../app/lib/server/methods/getChannelHistory'; -import { executeGetRoomRoles } from '../../../app/lib/server/methods/getRoomRoles'; -import { leaveRoomMethod } from '../../../app/lib/server/methods/leaveRoom'; -import { executeUnarchiveRoom } from '../../../app/lib/server/methods/unarchiveRoom'; import { getUserMentionsByChannel } from '../../../app/mentions/server/methods/getUserMentionsByChannel'; import { settings } from '../../../app/settings/server'; import { normalizeMessagesForUser } from '../../../app/utils/server/lib/normalizeMessagesForUser'; @@ -51,15 +43,23 @@ import { hasAllPermissionAsync, hasPermissionAsync } from '../../lib/authorizati import { eraseRoom } from '../../lib/eraseRoom'; import { findUsersOfRoom } from '../../lib/findUsersOfRoom'; import { openRoom } from '../../lib/openRoom'; -import { addAllUserToRoomFn } from '../../methods/addAllUserToRoom'; -import { addRoomLeader } from '../../methods/addRoomLeader'; -import { addRoomModerator } from '../../methods/addRoomModerator'; -import { addRoomOwner } from '../../methods/addRoomOwner'; -import { hideRoomMethod } from '../../methods/hideRoom'; -import { removeRoomLeader } from '../../methods/removeRoomLeader'; -import { removeRoomModerator } from '../../methods/removeRoomModerator'; -import { removeRoomOwner } from '../../methods/removeRoomOwner'; -import { removeUserFromRoomMethod } from '../../methods/removeUserFromRoom'; +import { getChannelHistory } from '../../meteor-methods/messages/getChannelHistory'; +import { addAllUserToRoomFn } from '../../meteor-methods/rooms/addAllUserToRoom'; +import { addRoomLeader } from '../../meteor-methods/rooms/addRoomLeader'; +import { addRoomModerator } from '../../meteor-methods/rooms/addRoomModerator'; +import { addRoomOwner } from '../../meteor-methods/rooms/addRoomOwner'; +import { addUsersToRoomMethod } from '../../meteor-methods/rooms/addUsersToRoom'; +import { executeArchiveRoom } from '../../meteor-methods/rooms/archiveRoom'; +import { createChannelMethod } from '../../meteor-methods/rooms/createChannel'; +import { executeGetRoomRoles } from '../../meteor-methods/rooms/getRoomRoles'; +import { hideRoomMethod } from '../../meteor-methods/rooms/hideRoom'; +import { leaveRoomMethod } from '../../meteor-methods/rooms/leaveRoom'; +import { removeRoomLeader } from '../../meteor-methods/rooms/removeRoomLeader'; +import { removeRoomModerator } from '../../meteor-methods/rooms/removeRoomModerator'; +import { removeRoomOwner } from '../../meteor-methods/rooms/removeRoomOwner'; +import { removeUserFromRoomMethod } from '../../meteor-methods/rooms/removeUserFromRoom'; +import { saveRoomSettings } from '../../meteor-methods/rooms/saveRoomSettings'; +import { executeUnarchiveRoom } from '../../meteor-methods/rooms/unarchiveRoom'; import { API } from '../api'; import { addUserToFileObj } from '../lib/addUserToFileObj'; import { composeRoomWithLastMessage } from '../lib/composeRoomWithLastMessage'; diff --git a/apps/meteor/server/api/v1/chat.ts b/apps/meteor/server/api/v1/chat.ts index c5d7ea3037a5d..46024299b7b34 100644 --- a/apps/meteor/server/api/v1/chat.ts +++ b/apps/meteor/server/api/v1/chat.ts @@ -31,24 +31,24 @@ import { escapeRegExp } from '@rocket.chat/string-helpers'; import { Meteor } from 'meteor/meteor'; import { roomAccessAttributes } from '../../../app/authorization/server'; -import { getSingleMessage } from '../../../app/lib/server/methods/getSingleMessage'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; -import { executeUpdateMessage } from '../../../app/lib/server/methods/updateMessage'; import { applyAirGappedRestrictionsValidation } from '../../../app/license/server/airGappedRestrictionsWrapper'; import { pinMessage, unpinMessage } from '../../../app/message-pin/server/pinMessage'; import { starMessage } from '../../../app/message-star/server/starMessage'; import { executeSetReaction } from '../../../app/reactions/server/setReaction'; import { settings } from '../../../app/settings/server'; -import { followMessage } from '../../../app/threads/server/methods/followMessage'; -import { unfollowMessage } from '../../../app/threads/server/methods/unfollowMessage'; import { normalizeMessagesForUser } from '../../../app/utils/server/lib/normalizeMessagesForUser'; import { canAccessRoomAsync, canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; import { deleteMessageValidatingPermission } from '../../lib/messages/deleteMessage'; import { processWebhookMessage } from '../../lib/messages/processWebhookMessage'; import { reportMessage } from '../../lib/moderation/reportMessage'; -import { ignoreUser } from '../../methods/ignoreUser'; -import { messageSearch } from '../../methods/messageSearch'; +import { followMessage } from '../../meteor-methods/messages/followMessage'; +import { getSingleMessage } from '../../meteor-methods/messages/getSingleMessage'; +import { messageSearch } from '../../meteor-methods/messages/messageSearch'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; +import { unfollowMessage } from '../../meteor-methods/messages/unfollowMessage'; +import { executeUpdateMessage } from '../../meteor-methods/messages/updateMessage'; +import { ignoreUser } from '../../meteor-methods/users/ignoreUser'; import { getMessageHistory } from '../../publications/messages'; import type { ExtractRoutesFromAPI } from '../ApiClass'; import { API } from '../api'; diff --git a/apps/meteor/server/api/v1/commands.ts b/apps/meteor/server/api/v1/commands.ts index 1ba83159555fc..6547a174aa91c 100644 --- a/apps/meteor/server/api/v1/commands.ts +++ b/apps/meteor/server/api/v1/commands.ts @@ -11,10 +11,10 @@ import { } from '@rocket.chat/rest-typings'; import objectPath from 'object-path'; -import { executeSlashCommandPreview } from '../../../app/lib/server/methods/executeSlashCommandPreview'; -import { getSlashCommandPreviews } from '../../../app/lib/server/methods/getSlashCommandPreviews'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; +import { executeSlashCommandPreview } from '../../meteor-methods/messages/executeSlashCommandPreview'; +import { getSlashCommandPreviews } from '../../meteor-methods/messages/getSlashCommandPreviews'; import type { ExtractRoutesFromAPI } from '../ApiClass'; import { API } from '../api'; import { getPaginationItems } from '../lib/getPaginationItems'; diff --git a/apps/meteor/server/api/v1/e2e.ts b/apps/meteor/server/api/v1/e2e.ts index cae65cace94b2..71d77ace7e768 100644 --- a/apps/meteor/server/api/v1/e2e.ts +++ b/apps/meteor/server/api/v1/e2e.ts @@ -13,14 +13,14 @@ import ExpiryMap from 'expiry-map'; import { handleSuggestedGroupKey } from '../../../app/e2e/server/functions/handleSuggestedGroupKey'; import { provideUsersSuggestedGroupKeys } from '../../../app/e2e/server/functions/provideUsersSuggestedGroupKeys'; import { resetRoomKey } from '../../../app/e2e/server/functions/resetRoomKey'; -import { getUsersOfRoomWithoutKeyMethod } from '../../../app/e2e/server/methods/getUsersOfRoomWithoutKey'; -import { requestSubscriptionKeysMethod } from '../../../app/e2e/server/methods/requestSubscriptionKeys'; -import { setRoomKeyIDMethod } from '../../../app/e2e/server/methods/setRoomKeyID'; -import { setUserPublicAndPrivateKeysMethod } from '../../../app/e2e/server/methods/setUserPublicAndPrivateKeys'; -import { updateGroupKey } from '../../../app/e2e/server/methods/updateGroupKey'; import { settings } from '../../../app/settings/server'; import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { getUsersOfRoomWithoutKeyMethod } from '../../meteor-methods/platform/getUsersOfRoomWithoutKey'; +import { requestSubscriptionKeysMethod } from '../../meteor-methods/platform/requestSubscriptionKeys'; +import { setRoomKeyIDMethod } from '../../meteor-methods/platform/setRoomKeyID'; +import { setUserPublicAndPrivateKeysMethod } from '../../meteor-methods/platform/setUserPublicAndPrivateKeys'; +import { updateGroupKey } from '../../meteor-methods/platform/updateGroupKey'; import type { ExtractRoutesFromAPI } from '../ApiClass'; import { API } from '../api'; diff --git a/apps/meteor/server/api/v1/groups.ts b/apps/meteor/server/api/v1/groups.ts index faceecebb5700..d1bba764b80c3 100644 --- a/apps/meteor/server/api/v1/groups.ts +++ b/apps/meteor/server/api/v1/groups.ts @@ -15,29 +15,29 @@ import { Meteor } from 'meteor/meteor'; import type { Filter } from 'mongodb'; import { canAccessRoomAsync, roomAccessAttributes } from '../../../app/authorization/server'; -import { saveRoomSettings } from '../../../app/channel-settings/server/methods/saveRoomSettings'; import { mountIntegrationQueryBasedOnPermissions } from '../../../app/integrations/server/lib/mountQueriesBasedOnPermission'; -import { addUsersToRoomMethod } from '../../../app/lib/server/methods/addUsersToRoom'; -import { executeArchiveRoom } from '../../../app/lib/server/methods/archiveRoom'; -import { createPrivateGroupMethod } from '../../../app/lib/server/methods/createPrivateGroup'; -import { getChannelHistory } from '../../../app/lib/server/methods/getChannelHistory'; -import { executeGetRoomRoles } from '../../../app/lib/server/methods/getRoomRoles'; -import { leaveRoomMethod } from '../../../app/lib/server/methods/leaveRoom'; -import { executeUnarchiveRoom } from '../../../app/lib/server/methods/unarchiveRoom'; import { normalizeMessagesForUser } from '../../../app/utils/server/lib/normalizeMessagesForUser'; import { hasAllPermissionAsync, hasPermissionAsync } from '../../lib/authorization/hasPermission'; import { eraseRoom } from '../../lib/eraseRoom'; import { findUsersOfRoom } from '../../lib/findUsersOfRoom'; import { openRoom } from '../../lib/openRoom'; -import { addAllUserToRoomFn } from '../../methods/addAllUserToRoom'; -import { addRoomLeader } from '../../methods/addRoomLeader'; -import { addRoomModerator } from '../../methods/addRoomModerator'; -import { addRoomOwner } from '../../methods/addRoomOwner'; -import { hideRoomMethod } from '../../methods/hideRoom'; -import { removeRoomLeader } from '../../methods/removeRoomLeader'; -import { removeRoomModerator } from '../../methods/removeRoomModerator'; -import { removeRoomOwner } from '../../methods/removeRoomOwner'; -import { removeUserFromRoomMethod } from '../../methods/removeUserFromRoom'; +import { getChannelHistory } from '../../meteor-methods/messages/getChannelHistory'; +import { addAllUserToRoomFn } from '../../meteor-methods/rooms/addAllUserToRoom'; +import { addRoomLeader } from '../../meteor-methods/rooms/addRoomLeader'; +import { addRoomModerator } from '../../meteor-methods/rooms/addRoomModerator'; +import { addRoomOwner } from '../../meteor-methods/rooms/addRoomOwner'; +import { addUsersToRoomMethod } from '../../meteor-methods/rooms/addUsersToRoom'; +import { executeArchiveRoom } from '../../meteor-methods/rooms/archiveRoom'; +import { createPrivateGroupMethod } from '../../meteor-methods/rooms/createPrivateGroup'; +import { executeGetRoomRoles } from '../../meteor-methods/rooms/getRoomRoles'; +import { hideRoomMethod } from '../../meteor-methods/rooms/hideRoom'; +import { leaveRoomMethod } from '../../meteor-methods/rooms/leaveRoom'; +import { removeRoomLeader } from '../../meteor-methods/rooms/removeRoomLeader'; +import { removeRoomModerator } from '../../meteor-methods/rooms/removeRoomModerator'; +import { removeRoomOwner } from '../../meteor-methods/rooms/removeRoomOwner'; +import { removeUserFromRoomMethod } from '../../meteor-methods/rooms/removeUserFromRoom'; +import { saveRoomSettings } from '../../meteor-methods/rooms/saveRoomSettings'; +import { executeUnarchiveRoom } from '../../meteor-methods/rooms/unarchiveRoom'; import { API } from '../api'; import { addUserToFileObj } from '../lib/addUserToFileObj'; import { composeRoomWithLastMessage } from '../lib/composeRoomWithLastMessage'; diff --git a/apps/meteor/server/api/v1/im.ts b/apps/meteor/server/api/v1/im.ts index e8e8ad7bed3b1..f0b52eba6e889 100644 --- a/apps/meteor/server/api/v1/im.ts +++ b/apps/meteor/server/api/v1/im.ts @@ -20,8 +20,6 @@ import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import type { FindOptions } from 'mongodb'; -import { saveRoomSettings } from '../../../app/channel-settings/server/methods/saveRoomSettings'; -import { getChannelHistory } from '../../../app/lib/server/methods/getChannelHistory'; import { settings } from '../../../app/settings/server'; import { normalizeMessagesForUser } from '../../../app/utils/server/lib/normalizeMessagesForUser'; import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; @@ -31,8 +29,10 @@ import { openRoom } from '../../lib/openRoom'; import { getRoomByNameOrIdWithOptionToJoin } from '../../lib/rooms/getRoomByNameOrIdWithOptionToJoin'; import { blockUserMethod } from '../../lib/users/blockUser'; import { unblockUserMethod } from '../../lib/users/unblockUser'; -import { createDirectMessage } from '../../methods/createDirectMessage'; -import { hideRoomMethod } from '../../methods/hideRoom'; +import { createDirectMessage } from '../../meteor-methods/messages/createDirectMessage'; +import { getChannelHistory } from '../../meteor-methods/messages/getChannelHistory'; +import { hideRoomMethod } from '../../meteor-methods/rooms/hideRoom'; +import { saveRoomSettings } from '../../meteor-methods/rooms/saveRoomSettings'; import type { ExtractRoutesFromAPI } from '../ApiClass'; import { API } from '../api'; import type { TypedAction } from '../definition'; diff --git a/apps/meteor/server/api/v1/import.ts b/apps/meteor/server/api/v1/import.ts index a17ec9d19d512..f9a81d03a6fb7 100644 --- a/apps/meteor/server/api/v1/import.ts +++ b/apps/meteor/server/api/v1/import.ts @@ -21,16 +21,14 @@ import { import { Meteor } from 'meteor/meteor'; import { Importers } from '../../../app/importer/server'; -import { - executeUploadImportFile, - executeDownloadPublicImportFile, - executeGetImportProgress, - executeGetImportFileData, - executeStartImport, - executeGetLatestImportOperations, -} from '../../../app/importer/server/methods'; import { PendingAvatarImporter } from '../../../app/importer-pending-avatars/server/PendingAvatarImporter'; import { PendingFileImporter } from '../../../app/importer-pending-files/server/PendingFileImporter'; +import { executeDownloadPublicImportFile } from '../../meteor-methods/import/downloadPublicImportFile'; +import { executeGetImportFileData } from '../../meteor-methods/import/getImportFileData'; +import { executeGetImportProgress } from '../../meteor-methods/import/getImportProgress'; +import { executeGetLatestImportOperations } from '../../meteor-methods/import/getLatestImportOperations'; +import { executeStartImport } from '../../meteor-methods/import/startImport'; +import { executeUploadImportFile } from '../../meteor-methods/import/uploadImportFile'; import { API } from '../api'; const successResponseSchema = ajv.compile({ diff --git a/apps/meteor/server/api/v1/integrations.ts b/apps/meteor/server/api/v1/integrations.ts index 3b949e537c562..f41a27bbd8069 100644 --- a/apps/meteor/server/api/v1/integrations.ts +++ b/apps/meteor/server/api/v1/integrations.ts @@ -20,12 +20,12 @@ import { mountIntegrationHistoryQueryBasedOnPermissions, mountIntegrationQueryBasedOnPermissions, } from '../../../app/integrations/server/lib/mountQueriesBasedOnPermission'; -import { addIncomingIntegration } from '../../../app/integrations/server/methods/incoming/addIncomingIntegration'; -import { deleteIncomingIntegration } from '../../../app/integrations/server/methods/incoming/deleteIncomingIntegration'; -import { updateIncomingIntegration } from '../../../app/integrations/server/methods/incoming/updateIncomingIntegration'; -import { addOutgoingIntegration } from '../../../app/integrations/server/methods/outgoing/addOutgoingIntegration'; -import { deleteOutgoingIntegration } from '../../../app/integrations/server/methods/outgoing/deleteOutgoingIntegration'; -import { updateOutgoingIntegration } from '../../../app/integrations/server/methods/outgoing/updateOutgoingIntegration'; +import { addIncomingIntegration } from '../../meteor-methods/integrations/incoming/addIncomingIntegration'; +import { deleteIncomingIntegration } from '../../meteor-methods/integrations/incoming/deleteIncomingIntegration'; +import { updateIncomingIntegration } from '../../meteor-methods/integrations/incoming/updateIncomingIntegration'; +import { addOutgoingIntegration } from '../../meteor-methods/integrations/outgoing/addOutgoingIntegration'; +import { deleteOutgoingIntegration } from '../../meteor-methods/integrations/outgoing/deleteOutgoingIntegration'; +import { updateOutgoingIntegration } from '../../meteor-methods/integrations/outgoing/updateOutgoingIntegration'; import { API } from '../api'; import { getPaginationItems } from '../lib/getPaginationItems'; import { findOneIntegration } from '../lib/integrations'; diff --git a/apps/meteor/server/api/v1/misc.ts b/apps/meteor/server/api/v1/misc.ts index 229582852c3b5..3debdc231cc1a 100644 --- a/apps/meteor/server/api/v1/misc.ts +++ b/apps/meteor/server/api/v1/misc.ts @@ -31,7 +31,7 @@ import { isSMTPConfigured } from '../../../app/utils/server/functions/isSMTPConf import { getURL } from '../../../app/utils/server/getURL'; import { i18n } from '../../lib/i18n'; import { SystemLogger } from '../../lib/logger/system'; -import { browseChannelsMethod } from '../../methods/browseChannels'; +import { browseChannelsMethod } from '../../meteor-methods/rooms/browseChannels'; import { spotlightMethod } from '../../publications/spotlight'; import { resetAuditedSettingByUser, updateAuditedByUser } from '../../settings/lib/auditedSettingUpdates'; import { API } from '../api'; diff --git a/apps/meteor/server/api/v1/omnichannel/upload.ts b/apps/meteor/server/api/v1/omnichannel/upload.ts index 854907c059d50..2f97751348a05 100644 --- a/apps/meteor/server/api/v1/omnichannel/upload.ts +++ b/apps/meteor/server/api/v1/omnichannel/upload.ts @@ -2,9 +2,9 @@ import { LivechatVisitors, LivechatRooms } from '@rocket.chat/models'; import { API } from '../..'; import { FileUpload } from '../../../../app/file-upload/server'; -import { sendFileLivechatMessage } from '../../../../app/livechat/server/methods/sendFileLivechatMessage'; import { settings } from '../../../../app/settings/server'; import { fileUploadIsValidContentType } from '../../../../app/utils/server/restrictions'; +import { sendFileLivechatMessage } from '../../../meteor-methods/omnichannel/sendFileLivechatMessage'; import { MultipartUploadHandler } from '../../lib/MultipartUploadHandler'; API.v1.addRoute('livechat/upload/:rid', { diff --git a/apps/meteor/server/api/v1/roles.ts b/apps/meteor/server/api/v1/roles.ts index bf94bcd000422..23b74c2db50ed 100644 --- a/apps/meteor/server/api/v1/roles.ts +++ b/apps/meteor/server/api/v1/roles.ts @@ -14,13 +14,13 @@ import { } from '@rocket.chat/rest-typings'; import { Meteor } from 'meteor/meteor'; -import { addUserToRole } from '../../../app/authorization/server/methods/addUserToRole'; import { notifyOnRoleChanged } from '../../../app/lib/server/lib/notifyListener'; import { settings } from '../../../app/settings/server'; import { getUsersInRolePaginated } from '../../lib/authorization/getUsersInRole'; import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; import { hasRoleAsync, hasAnyRoleAsync } from '../../lib/authorization/hasRole'; import { removeUserFromRolesAsync } from '../../lib/roles/removeUserFromRoles'; +import { addUserToRole } from '../../meteor-methods/auth/addUserToRole'; import type { ExtractRoutesFromAPI } from '../ApiClass'; import { API } from '../api'; import { getPaginationItems } from '../lib/getPaginationItems'; diff --git a/apps/meteor/server/api/v1/rooms.ts b/apps/meteor/server/api/v1/rooms.ts index fd699aca82f36..98d6e162a3607 100644 --- a/apps/meteor/server/api/v1/rooms.ts +++ b/apps/meteor/server/api/v1/rooms.ts @@ -46,16 +46,9 @@ import { isTruthy } from '@rocket.chat/tools'; import { Meteor } from 'meteor/meteor'; import { stripABACManagedFieldsForAdmin } from '../../../app/authorization/server/lib/isABACManagedRoom'; -import { saveRoomSettings } from '../../../app/channel-settings/server/methods/saveRoomSettings'; -import { createDiscussion } from '../../../app/discussion/server/methods/createDiscussion'; import { FileUpload } from '../../../app/file-upload/server'; import { sendFileMessage } from '../../../app/file-upload/server/methods/sendFileMessage'; import { notifyOnSubscriptionChanged } from '../../../app/lib/server/lib/notifyListener'; -import { executeArchiveRoom } from '../../../app/lib/server/methods/archiveRoom'; -import { cleanRoomHistoryMethod } from '../../../app/lib/server/methods/cleanRoomHistory'; -import { executeGetRoomRoles } from '../../../app/lib/server/methods/getRoomRoles'; -import { leaveRoomMethod } from '../../../app/lib/server/methods/leaveRoom'; -import { executeUnarchiveRoom } from '../../../app/lib/server/methods/unarchiveRoom'; import { applyAirGappedRestrictionsValidation } from '../../../app/license/server/airGappedRestrictionsWrapper'; import type { NotificationFieldType } from '../../../app/push-notifications/server/methods/saveNotificationSettings'; import { saveNotificationSettingsMethod } from '../../../app/push-notifications/server/methods/saveNotificationSettings'; @@ -72,10 +65,17 @@ import { openRoom } from '../../lib/openRoom'; import type { RoomRoles } from '../../lib/roles/getRoomRoles'; import { syncRolePrioritiesForRoomIfRequired } from '../../lib/rooms/syncRolePrioritiesForRoomIfRequired'; import { unbanUserFromRoom } from '../../lib/unbanUserFromRoom'; -import { hideRoomMethod } from '../../methods/hideRoom'; -import { muteUserInRoom } from '../../methods/muteUserInRoom'; -import { toggleFavoriteMethod } from '../../methods/toggleFavorite'; -import { unmuteUserInRoom } from '../../methods/unmuteUserInRoom'; +import { createDiscussion } from '../../meteor-methods/messages/createDiscussion'; +import { executeArchiveRoom } from '../../meteor-methods/rooms/archiveRoom'; +import { cleanRoomHistoryMethod } from '../../meteor-methods/rooms/cleanRoomHistory'; +import { executeGetRoomRoles } from '../../meteor-methods/rooms/getRoomRoles'; +import { hideRoomMethod } from '../../meteor-methods/rooms/hideRoom'; +import { leaveRoomMethod } from '../../meteor-methods/rooms/leaveRoom'; +import { muteUserInRoom } from '../../meteor-methods/rooms/muteUserInRoom'; +import { saveRoomSettings } from '../../meteor-methods/rooms/saveRoomSettings'; +import { toggleFavoriteMethod } from '../../meteor-methods/rooms/toggleFavorite'; +import { executeUnarchiveRoom } from '../../meteor-methods/rooms/unarchiveRoom'; +import { unmuteUserInRoom } from '../../meteor-methods/rooms/unmuteUserInRoom'; import { roomsGetMethod } from '../../publications/room'; import type { ExtractRoutesFromAPI } from '../ApiClass'; import { API } from '../api'; diff --git a/apps/meteor/server/api/v1/settings.ts b/apps/meteor/server/api/v1/settings.ts index 2418eef97fa42..18196b1d6a710 100644 --- a/apps/meteor/server/api/v1/settings.ts +++ b/apps/meteor/server/api/v1/settings.ts @@ -27,11 +27,11 @@ import _ from 'underscore'; import { saveSettingsBulk } from '../../../app/lib/server/functions/saveSettingsBulk'; import { checkSettingValueBounds } from '../../../app/lib/server/lib/checkSettingValueBonds'; import { notifyOnSettingChanged, notifyOnSettingChangedById } from '../../../app/lib/server/lib/notifyListener'; -import { addOAuthServiceMethod } from '../../../app/lib/server/methods/addOAuthService'; import { SettingsEvents, settings } from '../../../app/settings/server'; import { setValue } from '../../../app/settings/server/raw'; import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; import { disableCustomScripts } from '../../lib/shared/disableCustomScripts'; +import { addOAuthServiceMethod } from '../../meteor-methods/auth/addOAuthService'; import { updateAuditedByUser } from '../../settings/lib/auditedSettingUpdates'; import { API } from '../api'; import { getPaginationItems } from '../lib/getPaginationItems'; diff --git a/apps/meteor/server/api/v1/users.ts b/apps/meteor/server/api/v1/users.ts index 080f2cb400a1f..5fa3a68213507 100644 --- a/apps/meteor/server/api/v1/users.ts +++ b/apps/meteor/server/api/v1/users.ts @@ -38,8 +38,6 @@ import type { Filter } from 'mongodb'; import { getUserForCheck, emailCheck } from '../../../app/2fa/server/code'; import { resetTOTP } from '../../../app/2fa/server/functions/resetTOTP'; import { notifyOnUserChange, notifyOnUserChangeAsync } from '../../../app/lib/server/lib/notifyListener'; -import { generateAccessToken } from '../../../app/lib/server/methods/createToken'; -import { deleteUserOwnAccount } from '../../../app/lib/server/methods/deleteUserOwnAccount'; import { settings } from '../../../app/settings/server'; import { isSMTPConfigured } from '../../../app/utils/server/functions/isSMTPConfigured'; import { getURL } from '../../../app/utils/server/getURL'; @@ -67,14 +65,16 @@ import { setUserAvatar } from '../../lib/users/setUserAvatar'; import { setUsernameWithValidation } from '../../lib/users/setUsername'; import { validateCustomFields } from '../../lib/users/validateCustomFields'; import { validateUsername } from '../../lib/users/validateUsername'; -import { registerUser } from '../../methods/registerUser'; -import { requestDataDownload } from '../../methods/requestDataDownload'; -import { resetAvatar } from '../../methods/resetAvatar'; -import { saveUserPreferences } from '../../methods/saveUserPreferences'; -import { executeSaveUserProfile } from '../../methods/saveUserProfile'; -import { sendConfirmationEmail } from '../../methods/sendConfirmationEmail'; -import { sendForgotPasswordEmail } from '../../methods/sendForgotPasswordEmail'; -import { executeSetUserActiveStatus } from '../../methods/setUserActiveStatus'; +import { generateAccessToken } from '../../meteor-methods/auth/createToken'; +import { sendConfirmationEmail } from '../../meteor-methods/auth/sendConfirmationEmail'; +import { sendForgotPasswordEmail } from '../../meteor-methods/auth/sendForgotPasswordEmail'; +import { requestDataDownload } from '../../meteor-methods/platform/requestDataDownload'; +import { deleteUserOwnAccount } from '../../meteor-methods/users/deleteUserOwnAccount'; +import { registerUser } from '../../meteor-methods/users/registerUser'; +import { resetAvatar } from '../../meteor-methods/users/resetAvatar'; +import { saveUserPreferences } from '../../meteor-methods/users/saveUserPreferences'; +import { executeSaveUserProfile } from '../../meteor-methods/users/saveUserProfile'; +import { executeSetUserActiveStatus } from '../../meteor-methods/users/setUserActiveStatus'; import type { ExtractRoutesFromAPI } from '../ApiClass'; import { API } from '../api'; import { getPaginationItems } from '../lib/getPaginationItems'; diff --git a/apps/meteor/server/cron/oembed.ts b/apps/meteor/server/cron/oembed.ts index 9bc457434b8b3..2319971db5c5c 100644 --- a/apps/meteor/server/cron/oembed.ts +++ b/apps/meteor/server/cron/oembed.ts @@ -1,6 +1,6 @@ import { cronJobs } from '@rocket.chat/cron'; -import { executeClearOEmbedCache } from '../methods/OEmbedCacheCleanup'; +import { executeClearOEmbedCache } from '../meteor-methods/platform/OEmbedCacheCleanup'; export async function oembedCron(): Promise { return cronJobs.add('Cleanup OEmbed cache', '24 2 * * *', async () => executeClearOEmbedCache()); diff --git a/apps/meteor/server/lib/bot-helpers/index.ts b/apps/meteor/server/lib/bot-helpers/index.ts index b6cea05258dc5..07ddd08145f75 100644 --- a/apps/meteor/server/lib/bot-helpers/index.ts +++ b/apps/meteor/server/lib/bot-helpers/index.ts @@ -5,11 +5,11 @@ import { Rooms, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; import type { Filter, FindCursor } from 'mongodb'; -import { addUserToRole } from '../../../app/authorization/server/methods/addUserToRole'; -import { removeUserFromRole } from '../../../app/authorization/server/methods/removeUserFromRole'; -import { addUsersToRoomMethod } from '../../../app/lib/server/methods/addUsersToRoom'; import { settings } from '../../../app/settings/server'; -import { removeUserFromRoomMethod } from '../../methods/removeUserFromRoom'; +import { addUserToRole } from '../../meteor-methods/auth/addUserToRole'; +import { removeUserFromRole } from '../../meteor-methods/auth/removeUserFromRole'; +import { addUsersToRoomMethod } from '../../meteor-methods/rooms/addUsersToRoom'; +import { removeUserFromRoomMethod } from '../../meteor-methods/rooms/removeUserFromRoom'; import { hasRoleAsync } from '../authorization/hasRole'; /** diff --git a/apps/meteor/server/lib/dataExport/processDataDownloads.spec.ts b/apps/meteor/server/lib/dataExport/processDataDownloads.spec.ts index a97c93cbcb09a..8933f5a6c0489 100644 --- a/apps/meteor/server/lib/dataExport/processDataDownloads.spec.ts +++ b/apps/meteor/server/lib/dataExport/processDataDownloads.spec.ts @@ -121,16 +121,16 @@ const { exportRoomMessagesToFile } = proxyquire.noCallThru().load('./exportRoomM }, }); -const { requestDataDownload } = proxyquire.noCallThru().load('../../methods/requestDataDownload.ts', { +const { requestDataDownload } = proxyquire.noCallThru().load('../../meteor-methods/platform/requestDataDownload.ts', { '@rocket.chat/models': modelsMock, - '../../app/settings/server': { + '../../../app/settings/server': { settings: { get: (_key: string) => { return undefined; }, }, }, - '../lib/dataExport': { + '../../lib/dataExport': { getPath: (fileId: string) => `/data-download/${fileId}`, }, 'meteor/meteor': { diff --git a/apps/meteor/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.ts b/apps/meteor/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.ts index a6ab3d367c5e0..e1acf1a0501c1 100644 --- a/apps/meteor/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.ts +++ b/apps/meteor/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.ts @@ -4,7 +4,7 @@ import { Rooms, Subscriptions, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; import { isObject } from '../../../lib/utils/isObject'; -import { createDirectMessage } from '../../methods/createDirectMessage'; +import { createDirectMessage } from '../../meteor-methods/messages/createDirectMessage'; export const getRoomByNameOrIdWithOptionToJoin = async ({ user, diff --git a/apps/meteor/server/lib/sendDirectMessageToUsers.ts b/apps/meteor/server/lib/sendDirectMessageToUsers.ts index 2183331cedfe0..2c28ff269b077 100644 --- a/apps/meteor/server/lib/sendDirectMessageToUsers.ts +++ b/apps/meteor/server/lib/sendDirectMessageToUsers.ts @@ -1,9 +1,9 @@ import type { IUser } from '@rocket.chat/core-typings'; import { Users } from '@rocket.chat/models'; -import { executeSendMessage } from '../../app/lib/server/methods/sendMessage'; -import { createDirectMessage } from '../methods/createDirectMessage'; import { SystemLogger } from './logger/system'; +import { createDirectMessage } from '../meteor-methods/messages/createDirectMessage'; +import { executeSendMessage } from '../meteor-methods/messages/sendMessage'; export async function sendDirectMessageToUsers( fromId = 'rocket.cat', diff --git a/apps/meteor/server/lib/sendMessagesToAdmins.ts b/apps/meteor/server/lib/sendMessagesToAdmins.ts index 96527f765d7de..71ffbada1de89 100644 --- a/apps/meteor/server/lib/sendMessagesToAdmins.ts +++ b/apps/meteor/server/lib/sendMessagesToAdmins.ts @@ -1,10 +1,10 @@ import type { IUser, IMessage } from '@rocket.chat/core-typings'; import { Roles, Users } from '@rocket.chat/models'; -import { notifyOnUserChangeAsync } from '../../app/lib/server/lib/notifyListener'; -import { executeSendMessage } from '../../app/lib/server/methods/sendMessage'; -import { createDirectMessage } from '../methods/createDirectMessage'; import { SystemLogger } from './logger/system'; +import { notifyOnUserChangeAsync } from '../../app/lib/server/lib/notifyListener'; +import { createDirectMessage } from '../meteor-methods/messages/createDirectMessage'; +import { executeSendMessage } from '../meteor-methods/messages/sendMessage'; type Banner = { id: string; diff --git a/apps/meteor/server/lib/users/setEmail.ts b/apps/meteor/server/lib/users/setEmail.ts index 94a0a7c8b5d5c..a9fb8cd1a4274 100644 --- a/apps/meteor/server/lib/users/setEmail.ts +++ b/apps/meteor/server/lib/users/setEmail.ts @@ -10,7 +10,7 @@ import { validateEmailDomain } from '../../../app/lib/server/lib'; import * as Mailer from '../../../app/mailer/server/api'; import { settings } from '../../../app/settings/server'; import { onceTransactionCommitedSuccessfully } from '../../database/utils'; -import { sendConfirmationEmail } from '../../methods/sendConfirmationEmail'; +import { sendConfirmationEmail } from '../../meteor-methods/auth/sendConfirmationEmail'; let html = ''; Meteor.startup(() => { diff --git a/apps/meteor/server/main.ts b/apps/meteor/server/main.ts index b4a75d6b0bd06..fbf3855941020 100644 --- a/apps/meteor/server/main.ts +++ b/apps/meteor/server/main.ts @@ -18,7 +18,7 @@ import { startRocketChat } from '../startRocketChat'; import './routes'; import '../app/lib/server/startup'; import './importPackages'; -import './methods'; +import './meteor-methods'; import './publications'; import '../lib/oauthRedirectUriServer'; import './lib/pushConfig'; diff --git a/apps/meteor/app/lib/server/methods/addOAuthService.ts b/apps/meteor/server/meteor-methods/auth/addOAuthService.ts similarity index 85% rename from apps/meteor/app/lib/server/methods/addOAuthService.ts rename to apps/meteor/server/meteor-methods/auth/addOAuthService.ts index 418ded220edd9..22dbf369766d5 100644 --- a/apps/meteor/app/lib/server/methods/addOAuthService.ts +++ b/apps/meteor/server/meteor-methods/auth/addOAuthService.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { addOAuthService } from '../../../../server/lib/oauth/addOAuthService'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { addOAuthService } from '../../lib/oauth/addOAuthService'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/authorization/server/methods/addPermissionToRole.ts b/apps/meteor/server/meteor-methods/auth/addPermissionToRole.ts similarity index 89% rename from apps/meteor/app/authorization/server/methods/addPermissionToRole.ts rename to apps/meteor/server/meteor-methods/auth/addPermissionToRole.ts index 4bace8515ee52..98930f19a5b92 100644 --- a/apps/meteor/app/authorization/server/methods/addPermissionToRole.ts +++ b/apps/meteor/server/meteor-methods/auth/addPermissionToRole.ts @@ -3,9 +3,9 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Permissions } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { notifyOnPermissionChangedById } from '../../../lib/server/lib/notifyListener'; -import { CONSTANTS, AuthorizationUtils } from '../../lib'; +import { CONSTANTS, AuthorizationUtils } from '../../../app/authorization/lib'; +import { notifyOnPermissionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/authorization/server/methods/addUserToRole.ts b/apps/meteor/server/meteor-methods/auth/addUserToRole.ts similarity index 90% rename from apps/meteor/app/authorization/server/methods/addUserToRole.ts rename to apps/meteor/server/meteor-methods/auth/addUserToRole.ts index b35f554c8884e..1629f2834c573 100644 --- a/apps/meteor/app/authorization/server/methods/addUserToRole.ts +++ b/apps/meteor/server/meteor-methods/auth/addUserToRole.ts @@ -3,9 +3,9 @@ import type { IRole, IUser } from '@rocket.chat/core-typings'; import { Roles, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { addUserRolesAsync } from '../../../../server/lib/roles/addUserRoles'; -import { settings } from '../../../settings/server'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { addUserRolesAsync } from '../../lib/roles/addUserRoles'; export const addUserToRole = async (userId: string, roleId: string, username: IUser['username'], scope?: string): Promise => { if (!(await hasPermissionAsync(userId, 'access-permissions'))) { diff --git a/apps/meteor/server/methods/afterVerifyEmail.ts b/apps/meteor/server/meteor-methods/auth/afterVerifyEmail.ts similarity index 89% rename from apps/meteor/server/methods/afterVerifyEmail.ts rename to apps/meteor/server/meteor-methods/auth/afterVerifyEmail.ts index 9e1589c1895a8..2835b78173aa8 100644 --- a/apps/meteor/server/methods/afterVerifyEmail.ts +++ b/apps/meteor/server/meteor-methods/auth/afterVerifyEmail.ts @@ -3,8 +3,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { addUserRolesAsync } from '../lib/roles/addUserRoles'; -import { removeUserFromRolesAsync } from '../lib/roles/removeUserFromRoles'; +import { addUserRolesAsync } from '../../lib/roles/addUserRoles'; +import { removeUserFromRolesAsync } from '../../lib/roles/removeUserFromRoles'; const rolesToChangeTo: Map = new Map([['anonymous', ['user']]]); diff --git a/apps/meteor/app/2fa/server/methods/checkCodesRemaining.ts b/apps/meteor/server/meteor-methods/auth/checkCodesRemaining.ts similarity index 100% rename from apps/meteor/app/2fa/server/methods/checkCodesRemaining.ts rename to apps/meteor/server/meteor-methods/auth/checkCodesRemaining.ts diff --git a/apps/meteor/app/lib/server/methods/checkRegistrationSecretURL.ts b/apps/meteor/server/meteor-methods/auth/checkRegistrationSecretURL.ts similarity index 84% rename from apps/meteor/app/lib/server/methods/checkRegistrationSecretURL.ts rename to apps/meteor/server/meteor-methods/auth/checkRegistrationSecretURL.ts index ecba6844da262..acc90af3b9908 100644 --- a/apps/meteor/app/lib/server/methods/checkRegistrationSecretURL.ts +++ b/apps/meteor/server/meteor-methods/auth/checkRegistrationSecretURL.ts @@ -2,7 +2,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { settings } from '../../../settings/server'; +import { settings } from '../../../app/settings/server'; Meteor.methods({ checkRegistrationSecretURL(hash) { diff --git a/apps/meteor/app/lib/server/methods/createToken.ts b/apps/meteor/server/meteor-methods/auth/createToken.ts similarity index 100% rename from apps/meteor/app/lib/server/methods/createToken.ts rename to apps/meteor/server/meteor-methods/auth/createToken.ts diff --git a/apps/meteor/app/2fa/server/methods/disable.ts b/apps/meteor/server/meteor-methods/auth/disable.ts similarity index 89% rename from apps/meteor/app/2fa/server/methods/disable.ts rename to apps/meteor/server/meteor-methods/auth/disable.ts index 9e64afb48f20e..2ce3c63d461d7 100644 --- a/apps/meteor/app/2fa/server/methods/disable.ts +++ b/apps/meteor/server/meteor-methods/auth/disable.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { notifyOnUserChange } from '../../../lib/server/lib/notifyListener'; -import { TOTP } from '../lib/totp'; +import { TOTP } from '../../../app/2fa/server/lib/totp'; +import { notifyOnUserChange } from '../../../app/lib/server/lib/notifyListener'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/2fa/server/methods/enable.ts b/apps/meteor/server/meteor-methods/auth/enable.ts similarity index 94% rename from apps/meteor/app/2fa/server/methods/enable.ts rename to apps/meteor/server/meteor-methods/auth/enable.ts index c273dfbadaf74..6435d7d1f7622 100644 --- a/apps/meteor/app/2fa/server/methods/enable.ts +++ b/apps/meteor/server/meteor-methods/auth/enable.ts @@ -2,7 +2,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { TOTP } from '../lib/totp'; +import { TOTP } from '../../../app/2fa/server/lib/totp'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/logoutCleanUp.ts b/apps/meteor/server/meteor-methods/auth/logoutCleanUp.ts similarity index 88% rename from apps/meteor/server/methods/logoutCleanUp.ts rename to apps/meteor/server/meteor-methods/auth/logoutCleanUp.ts index 396311161d7f7..c4ac54020ef7d 100644 --- a/apps/meteor/server/methods/logoutCleanUp.ts +++ b/apps/meteor/server/meteor-methods/auth/logoutCleanUp.ts @@ -4,7 +4,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { afterLogoutCleanUpCallback } from '../lib/callbacks/afterLogoutCleanUpCallback'; +import { afterLogoutCleanUpCallback } from '../../lib/callbacks/afterLogoutCleanUpCallback'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/refreshOAuthService.ts b/apps/meteor/server/meteor-methods/auth/refreshOAuthService.ts similarity index 82% rename from apps/meteor/app/lib/server/methods/refreshOAuthService.ts rename to apps/meteor/server/meteor-methods/auth/refreshOAuthService.ts index 27ed60727c4ce..2b35e74e72bab 100644 --- a/apps/meteor/app/lib/server/methods/refreshOAuthService.ts +++ b/apps/meteor/server/meteor-methods/auth/refreshOAuthService.ts @@ -1,8 +1,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { refreshLoginServices } from '../../../../server/lib/refreshLoginServices'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { refreshLoginServices } from '../../lib/refreshLoginServices'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/2fa/server/methods/regenerateCodes.ts b/apps/meteor/server/meteor-methods/auth/regenerateCodes.ts similarity index 95% rename from apps/meteor/app/2fa/server/methods/regenerateCodes.ts rename to apps/meteor/server/meteor-methods/auth/regenerateCodes.ts index 6968abfb93c2c..9f9b91082d669 100644 --- a/apps/meteor/app/2fa/server/methods/regenerateCodes.ts +++ b/apps/meteor/server/meteor-methods/auth/regenerateCodes.ts @@ -2,7 +2,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { TOTP } from '../lib/totp'; +import { TOTP } from '../../../app/2fa/server/lib/totp'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/removeOAuthService.ts b/apps/meteor/server/meteor-methods/auth/removeOAuthService.ts similarity index 94% rename from apps/meteor/app/lib/server/methods/removeOAuthService.ts rename to apps/meteor/server/meteor-methods/auth/removeOAuthService.ts index 086130a480ae3..89ad498543e7c 100644 --- a/apps/meteor/app/lib/server/methods/removeOAuthService.ts +++ b/apps/meteor/server/meteor-methods/auth/removeOAuthService.ts @@ -4,8 +4,8 @@ import { capitalize } from '@rocket.chat/string-helpers'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { notifyOnSettingChangedById } from '../lib/notifyListener'; +import { notifyOnSettingChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/authorization/server/methods/removeRoleFromPermission.ts b/apps/meteor/server/meteor-methods/auth/removeRoleFromPermission.ts similarity index 87% rename from apps/meteor/app/authorization/server/methods/removeRoleFromPermission.ts rename to apps/meteor/server/meteor-methods/auth/removeRoleFromPermission.ts index 9720d4807bcff..a321c87ad0891 100644 --- a/apps/meteor/app/authorization/server/methods/removeRoleFromPermission.ts +++ b/apps/meteor/server/meteor-methods/auth/removeRoleFromPermission.ts @@ -2,9 +2,9 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Permissions } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { notifyOnPermissionChangedById } from '../../../lib/server/lib/notifyListener'; -import { CONSTANTS } from '../../lib'; +import { CONSTANTS } from '../../../app/authorization/lib'; +import { notifyOnPermissionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/authorization/server/methods/removeUserFromRole.ts b/apps/meteor/server/meteor-methods/auth/removeUserFromRole.ts similarity index 90% rename from apps/meteor/app/authorization/server/methods/removeUserFromRole.ts rename to apps/meteor/server/meteor-methods/auth/removeUserFromRole.ts index 950f975c50f65..54bb2910dc80d 100644 --- a/apps/meteor/app/authorization/server/methods/removeUserFromRole.ts +++ b/apps/meteor/server/meteor-methods/auth/removeUserFromRole.ts @@ -3,9 +3,9 @@ import type { IRole, IUser } from '@rocket.chat/core-typings'; import { Roles, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { removeUserFromRolesAsync } from '../../../../server/lib/roles/removeUserFromRoles'; -import { settings } from '../../../settings/server'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { removeUserFromRolesAsync } from '../../lib/roles/removeUserFromRoles'; export const removeUserFromRole = async (userId: string, roleId: string, username: IUser['username'], scope?: string): Promise => { if (!(await hasPermissionAsync(userId, 'access-permissions'))) { diff --git a/apps/meteor/server/methods/sendConfirmationEmail.ts b/apps/meteor/server/meteor-methods/auth/sendConfirmationEmail.ts similarity index 100% rename from apps/meteor/server/methods/sendConfirmationEmail.ts rename to apps/meteor/server/meteor-methods/auth/sendConfirmationEmail.ts diff --git a/apps/meteor/server/methods/sendForgotPasswordEmail.ts b/apps/meteor/server/meteor-methods/auth/sendForgotPasswordEmail.ts similarity index 90% rename from apps/meteor/server/methods/sendForgotPasswordEmail.ts rename to apps/meteor/server/meteor-methods/auth/sendForgotPasswordEmail.ts index e534d2febdbab..ecaf401b2862c 100644 --- a/apps/meteor/server/methods/sendForgotPasswordEmail.ts +++ b/apps/meteor/server/meteor-methods/auth/sendForgotPasswordEmail.ts @@ -4,8 +4,8 @@ import { Accounts } from 'meteor/accounts-base'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { settings } from '../../app/settings/server'; -import { SystemLogger } from '../lib/logger/system'; +import { settings } from '../../../app/settings/server'; +import { SystemLogger } from '../../lib/logger/system'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/2fa/server/methods/validateTempToken.ts b/apps/meteor/server/meteor-methods/auth/validateTempToken.ts similarity index 96% rename from apps/meteor/app/2fa/server/methods/validateTempToken.ts rename to apps/meteor/server/meteor-methods/auth/validateTempToken.ts index cc5c7ad4f9544..26bf9b50c6019 100644 --- a/apps/meteor/app/2fa/server/methods/validateTempToken.ts +++ b/apps/meteor/server/meteor-methods/auth/validateTempToken.ts @@ -3,8 +3,8 @@ import { Users } from '@rocket.chat/models'; import { Accounts } from 'meteor/accounts-base'; import { Meteor } from 'meteor/meteor'; -import { notifyOnUserChange, notifyOnUserChangeAsync } from '../../../lib/server/lib/notifyListener'; -import { TOTP } from '../lib/totp'; +import { TOTP } from '../../../app/2fa/server/lib/totp'; +import { notifyOnUserChange, notifyOnUserChangeAsync } from '../../../app/lib/server/lib/notifyListener'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/importer/server/methods/downloadPublicImportFile.ts b/apps/meteor/server/meteor-methods/import/downloadPublicImportFile.ts similarity index 89% rename from apps/meteor/app/importer/server/methods/downloadPublicImportFile.ts rename to apps/meteor/server/meteor-methods/import/downloadPublicImportFile.ts index 12429842fbabf..72519d8cbab50 100644 --- a/apps/meteor/app/importer/server/methods/downloadPublicImportFile.ts +++ b/apps/meteor/server/meteor-methods/import/downloadPublicImportFile.ts @@ -7,11 +7,11 @@ import type { IUser } from '@rocket.chat/core-typings'; import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { Importers } from '..'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { ProgressStep } from '../../lib/ImporterProgressStep'; -import { RocketChatImportFileInstance } from '../startup/store'; +import { ProgressStep } from '../../../app/importer/lib/ImporterProgressStep'; +import { Importers } from '../../../app/importer/server'; +import { RocketChatImportFileInstance } from '../../../app/importer/server/startup/store'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; function downloadHttpFile(fileUrl: string, writeStream: fs.WriteStream): void { const protocol = fileUrl.startsWith('https') ? https : http; diff --git a/apps/meteor/app/importer/server/methods/getImportFileData.ts b/apps/meteor/server/meteor-methods/import/getImportFileData.ts similarity index 86% rename from apps/meteor/app/importer/server/methods/getImportFileData.ts rename to apps/meteor/server/meteor-methods/import/getImportFileData.ts index 40a51c5b5309e..4068720d10538 100644 --- a/apps/meteor/app/importer/server/methods/getImportFileData.ts +++ b/apps/meteor/server/meteor-methods/import/getImportFileData.ts @@ -6,11 +6,11 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Imports } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { Importers } from '..'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { ProgressStep } from '../../lib/ImporterProgressStep'; -import { RocketChatImportFileInstance } from '../startup/store'; +import { ProgressStep } from '../../../app/importer/lib/ImporterProgressStep'; +import { Importers } from '../../../app/importer/server'; +import { RocketChatImportFileInstance } from '../../../app/importer/server/startup/store'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; export const executeGetImportFileData = async (): Promise => { const operation = await Imports.findLastImport(); diff --git a/apps/meteor/app/importer/server/methods/getImportProgress.ts b/apps/meteor/server/meteor-methods/import/getImportProgress.ts similarity index 86% rename from apps/meteor/app/importer/server/methods/getImportProgress.ts rename to apps/meteor/server/meteor-methods/import/getImportProgress.ts index f2e8238072bbb..21fd9ac4e3b24 100644 --- a/apps/meteor/app/importer/server/methods/getImportProgress.ts +++ b/apps/meteor/server/meteor-methods/import/getImportProgress.ts @@ -3,9 +3,9 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Imports } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { Importers } from '..'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; +import { Importers } from '../../../app/importer/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; export const executeGetImportProgress = async (): Promise => { const operation = await Imports.findLastImport(); diff --git a/apps/meteor/app/importer/server/methods/getLatestImportOperations.ts b/apps/meteor/server/meteor-methods/import/getLatestImportOperations.ts similarity index 86% rename from apps/meteor/app/importer/server/methods/getLatestImportOperations.ts rename to apps/meteor/server/meteor-methods/import/getLatestImportOperations.ts index 1529f8f2ff7dc..9203028711b15 100644 --- a/apps/meteor/app/importer/server/methods/getLatestImportOperations.ts +++ b/apps/meteor/server/meteor-methods/import/getLatestImportOperations.ts @@ -3,8 +3,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Imports } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; export const executeGetLatestImportOperations = async () => { const data = Imports.find( diff --git a/apps/meteor/app/importer/server/methods/startImport.ts b/apps/meteor/server/meteor-methods/import/startImport.ts similarity index 89% rename from apps/meteor/app/importer/server/methods/startImport.ts rename to apps/meteor/server/meteor-methods/import/startImport.ts index 9051240cdc0e7..1ecf2a1a5fa27 100644 --- a/apps/meteor/app/importer/server/methods/startImport.ts +++ b/apps/meteor/server/meteor-methods/import/startImport.ts @@ -4,9 +4,9 @@ import { Imports } from '@rocket.chat/models'; import { isStartImportParamsPOST, type StartImportParamsPOST } from '@rocket.chat/rest-typings'; import { Meteor } from 'meteor/meteor'; -import { Importers } from '..'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; +import { Importers } from '../../../app/importer/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; export const executeStartImport = async ({ input }: StartImportParamsPOST, startedByUserId: IUser['_id']) => { const operation = await Imports.findLastImport(); diff --git a/apps/meteor/app/importer/server/methods/uploadImportFile.ts b/apps/meteor/server/meteor-methods/import/uploadImportFile.ts similarity index 84% rename from apps/meteor/app/importer/server/methods/uploadImportFile.ts rename to apps/meteor/server/meteor-methods/import/uploadImportFile.ts index 83b5832059721..8c5e9c0a4bb55 100644 --- a/apps/meteor/app/importer/server/methods/uploadImportFile.ts +++ b/apps/meteor/server/meteor-methods/import/uploadImportFile.ts @@ -3,12 +3,12 @@ import type { IUser } from '@rocket.chat/core-typings'; import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { Importers } from '..'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { RocketChatFile } from '../../../file/server'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { ProgressStep } from '../../lib/ImporterProgressStep'; -import { RocketChatImportFileInstance } from '../startup/store'; +import { RocketChatFile } from '../../../app/file/server'; +import { ProgressStep } from '../../../app/importer/lib/ImporterProgressStep'; +import { Importers } from '../../../app/importer/server'; +import { RocketChatImportFileInstance } from '../../../app/importer/server/startup/store'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; export const executeUploadImportFile = async ( userId: IUser['_id'], diff --git a/apps/meteor/server/meteor-methods/index.ts b/apps/meteor/server/meteor-methods/index.ts new file mode 100644 index 0000000000000..2e0c0c6ca0f66 --- /dev/null +++ b/apps/meteor/server/meteor-methods/index.ts @@ -0,0 +1,124 @@ +import '../../imports/personal-access-tokens/server/api/methods'; + +import './auth/addOAuthService'; +import './auth/addPermissionToRole'; +import './auth/addUserToRole'; +import './auth/afterVerifyEmail'; +import './auth/checkCodesRemaining'; +import './auth/checkRegistrationSecretURL'; +import './auth/disable'; +import './auth/enable'; +import './auth/logoutCleanUp'; +import './auth/refreshOAuthService'; +import './auth/regenerateCodes'; +import './auth/removeOAuthService'; +import './auth/removeRoleFromPermission'; +import './auth/sendConfirmationEmail'; +import './auth/sendForgotPasswordEmail'; +import './auth/validateTempToken'; +import './import/downloadPublicImportFile'; +import './import/getImportFileData'; +import './import/getImportProgress'; +import './import/getLatestImportOperations'; +import './import/startImport'; +import './import/uploadImportFile'; +import './integrations/clearIntegrationHistory'; +import './integrations/incoming/addIncomingIntegration'; +import './integrations/incoming/deleteIncomingIntegration'; +import './integrations/incoming/updateIncomingIntegration'; +import './integrations/outgoing/addOutgoingIntegration'; +import './integrations/outgoing/deleteOutgoingIntegration'; +import './integrations/outgoing/replayOutgoingIntegration'; +import './integrations/outgoing/updateOutgoingIntegration'; +import './messages/createDirectMessage'; +import './messages/createDiscussion'; +import './messages/deleteFileMessage'; +import './messages/executeSlashCommandPreview'; +import './messages/followMessage'; +import './messages/getChannelHistory'; +import './messages/getMessages'; +import './messages/getSingleMessage'; +import './messages/getSlashCommandPreviews'; +import './messages/getThreadMessages'; +import './messages/getThreadsList'; +import './messages/loadHistory'; +import './messages/loadMissedMessages'; +import './messages/loadNextMessages'; +import './messages/loadSurroundingMessages'; +import './messages/messageSearch'; +import './messages/readMessages'; +import './messages/readThreads'; +import './messages/sendMessage'; +import './messages/unfollowMessage'; +import './messages/updateMessage'; +import './omnichannel/sendFileLivechatMessage'; +import './omnichannel/sendMessageLivechat'; +import './platform/OEmbedCacheCleanup'; +import './platform/checkFederationConfiguration'; +import './platform/fetchMyKeys'; +import './platform/getProviderUiMetadata'; +import './platform/getSupportedLanguages'; +import './platform/getUsersOfRoomWithoutKey'; +import './platform/loadLocale'; +import './platform/requestDataDownload'; +import './platform/requestSubscriptionKeys'; +import './platform/resetOwnE2EKey'; +import './platform/restartServer'; +import './platform/saveSettings'; +import './platform/setRoomKeyID'; +import './platform/setUserPublicAndPrivateKeys'; +import './platform/translateMessage'; +import './platform/updateGroupKey'; +import './rooms/addAllUserToRoom'; +import './rooms/addRoomLeader'; +import './rooms/addRoomModerator'; +import './rooms/addRoomOwner'; +import './rooms/addUserToRoom'; +import './rooms/addUsersToRoom'; +import './rooms/archiveRoom'; +import './rooms/browseChannels'; +import './rooms/channelsList'; +import './rooms/cleanRoomHistory'; +import './rooms/createChannel'; +import './rooms/createPrivateGroup'; +import './rooms/getRoomById'; +import './rooms/getRoomIdByNameOrId'; +import './rooms/getRoomJoinCode'; +import './rooms/getRoomNameById'; +import './rooms/getRoomRoles'; +import './rooms/getTotalChannels'; +import './rooms/hideRoom'; +import './rooms/joinDefaultChannels'; +import './rooms/joinRoom'; +import './rooms/leaveRoom'; +import './rooms/muteUserInRoom'; +import './rooms/openRoom'; +import './rooms/removeRoomLeader'; +import './rooms/removeRoomModerator'; +import './rooms/removeRoomOwner'; +import './rooms/removeUserFromRoom'; +import './rooms/saveRoomSettings'; +import './rooms/toggleFavorite'; +import './rooms/unarchiveRoom'; +import './rooms/unmuteUserInRoom'; +import './settings/getSetupWizardParameters'; +import './settings/saveSetting'; +import './settings/saveSettings'; +import './settings/sendSMTPTestEmail'; +import './users/blockUser'; +import './users/deleteUser'; +import './users/deleteUserOwnAccount'; +import './users/getUsernameSuggestion'; +import './users/getUsersOfRoom'; +import './users/ignoreUser'; +import './users/registerUser'; +import './users/resetAvatar'; +import './users/saveUserPreferences'; +import './users/saveUserProfile'; +import './users/setAvatarFromService'; +import './users/setEmail'; +import './users/setRealName'; +import './users/setUserActiveStatus'; +import './users/unblockUser'; +import './users/userPresence'; +import './users/userSetUtcOffset'; diff --git a/apps/meteor/app/integrations/server/methods/clearIntegrationHistory.ts b/apps/meteor/server/meteor-methods/integrations/clearIntegrationHistory.ts similarity index 90% rename from apps/meteor/app/integrations/server/methods/clearIntegrationHistory.ts rename to apps/meteor/server/meteor-methods/integrations/clearIntegrationHistory.ts index 3537872fe071a..366ae27a1d0b9 100644 --- a/apps/meteor/app/integrations/server/methods/clearIntegrationHistory.ts +++ b/apps/meteor/server/meteor-methods/integrations/clearIntegrationHistory.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Integrations, IntegrationHistory } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import notifications from '../../../notifications/server/lib/Notifications'; +import notifications from '../../../app/notifications/server/lib/Notifications'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/integrations/server/methods/incoming/addIncomingIntegration.ts b/apps/meteor/server/meteor-methods/integrations/incoming/addIncomingIntegration.ts similarity index 93% rename from apps/meteor/app/integrations/server/methods/incoming/addIncomingIntegration.ts rename to apps/meteor/server/meteor-methods/integrations/incoming/addIncomingIntegration.ts index 9bdab78bcc8e3..b4ec7d0d87171 100644 --- a/apps/meteor/app/integrations/server/methods/incoming/addIncomingIntegration.ts +++ b/apps/meteor/server/meteor-methods/integrations/incoming/addIncomingIntegration.ts @@ -6,11 +6,11 @@ import { removeEmpty } from '@rocket.chat/tools'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync, hasAllPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnIntegrationChanged } from '../../../../lib/server/lib/notifyListener'; -import { compileIntegrationScript } from '../../lib/compileIntegrationScript'; -import { validateScriptEngine, isScriptEngineFrozen } from '../../lib/validateScriptEngine'; +import { compileIntegrationScript } from '../../../../app/integrations/server/lib/compileIntegrationScript'; +import { validateScriptEngine, isScriptEngineFrozen } from '../../../../app/integrations/server/lib/validateScriptEngine'; +import { methodDeprecationLogger } from '../../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnIntegrationChanged } from '../../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync, hasAllPermissionAsync } from '../../../lib/authorization/hasPermission'; const validChannelChars = ['@', '#']; diff --git a/apps/meteor/app/integrations/server/methods/incoming/deleteIncomingIntegration.ts b/apps/meteor/server/meteor-methods/integrations/incoming/deleteIncomingIntegration.ts similarity index 86% rename from apps/meteor/app/integrations/server/methods/incoming/deleteIncomingIntegration.ts rename to apps/meteor/server/meteor-methods/integrations/incoming/deleteIncomingIntegration.ts index 06a2d920d95d5..ca648b6e3f0e6 100644 --- a/apps/meteor/app/integrations/server/methods/incoming/deleteIncomingIntegration.ts +++ b/apps/meteor/server/meteor-methods/integrations/incoming/deleteIncomingIntegration.ts @@ -2,9 +2,9 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Integrations } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnIntegrationChanged } from '../../../../lib/server/lib/notifyListener'; +import { methodDeprecationLogger } from '../../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnIntegrationChanged } from '../../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync } from '../../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/integrations/server/methods/incoming/updateIncomingIntegration.ts b/apps/meteor/server/meteor-methods/integrations/incoming/updateIncomingIntegration.ts similarity index 94% rename from apps/meteor/app/integrations/server/methods/incoming/updateIncomingIntegration.ts rename to apps/meteor/server/meteor-methods/integrations/incoming/updateIncomingIntegration.ts index 8eb0be0afb58a..2c018a6d2e77a 100644 --- a/apps/meteor/app/integrations/server/methods/incoming/updateIncomingIntegration.ts +++ b/apps/meteor/server/meteor-methods/integrations/incoming/updateIncomingIntegration.ts @@ -4,11 +4,11 @@ import { Integrations, Subscriptions, Users, Rooms } from '@rocket.chat/models'; import { wrapExceptions } from '@rocket.chat/tools'; import { Meteor } from 'meteor/meteor'; -import { hasAllPermissionAsync, hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnIntegrationChanged } from '../../../../lib/server/lib/notifyListener'; -import { compileIntegrationScript } from '../../lib/compileIntegrationScript'; -import { isScriptEngineFrozen, validateScriptEngine } from '../../lib/validateScriptEngine'; +import { compileIntegrationScript } from '../../../../app/integrations/server/lib/compileIntegrationScript'; +import { isScriptEngineFrozen, validateScriptEngine } from '../../../../app/integrations/server/lib/validateScriptEngine'; +import { methodDeprecationLogger } from '../../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnIntegrationChanged } from '../../../../app/lib/server/lib/notifyListener'; +import { hasAllPermissionAsync, hasPermissionAsync } from '../../../lib/authorization/hasPermission'; const validChannelChars = ['@', '#']; diff --git a/apps/meteor/app/integrations/server/methods/outgoing/addOutgoingIntegration.ts b/apps/meteor/server/meteor-methods/integrations/outgoing/addOutgoingIntegration.ts similarity index 84% rename from apps/meteor/app/integrations/server/methods/outgoing/addOutgoingIntegration.ts rename to apps/meteor/server/meteor-methods/integrations/outgoing/addOutgoingIntegration.ts index ec76acd6c85d5..8ec1832cb25c3 100644 --- a/apps/meteor/app/integrations/server/methods/outgoing/addOutgoingIntegration.ts +++ b/apps/meteor/server/meteor-methods/integrations/outgoing/addOutgoingIntegration.ts @@ -5,11 +5,11 @@ import { removeEmpty } from '@rocket.chat/tools'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnIntegrationChanged } from '../../../../lib/server/lib/notifyListener'; -import { validateOutgoingIntegration } from '../../lib/validateOutgoingIntegration'; -import { validateScriptEngine } from '../../lib/validateScriptEngine'; +import { validateOutgoingIntegration } from '../../../../app/integrations/server/lib/validateOutgoingIntegration'; +import { validateScriptEngine } from '../../../../app/integrations/server/lib/validateScriptEngine'; +import { methodDeprecationLogger } from '../../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnIntegrationChanged } from '../../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync } from '../../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/integrations/server/methods/outgoing/deleteOutgoingIntegration.ts b/apps/meteor/server/meteor-methods/integrations/outgoing/deleteOutgoingIntegration.ts similarity index 87% rename from apps/meteor/app/integrations/server/methods/outgoing/deleteOutgoingIntegration.ts rename to apps/meteor/server/meteor-methods/integrations/outgoing/deleteOutgoingIntegration.ts index 564dcb4759a7c..c6aceae90150f 100644 --- a/apps/meteor/app/integrations/server/methods/outgoing/deleteOutgoingIntegration.ts +++ b/apps/meteor/server/meteor-methods/integrations/outgoing/deleteOutgoingIntegration.ts @@ -2,9 +2,9 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Integrations, IntegrationHistory } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnIntegrationChanged } from '../../../../lib/server/lib/notifyListener'; +import { methodDeprecationLogger } from '../../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnIntegrationChanged } from '../../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync } from '../../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/integrations/server/methods/outgoing/replayOutgoingIntegration.ts b/apps/meteor/server/meteor-methods/integrations/outgoing/replayOutgoingIntegration.ts similarity index 91% rename from apps/meteor/app/integrations/server/methods/outgoing/replayOutgoingIntegration.ts rename to apps/meteor/server/meteor-methods/integrations/outgoing/replayOutgoingIntegration.ts index 7d37436738d5e..ef021bcaf4ce3 100644 --- a/apps/meteor/app/integrations/server/methods/outgoing/replayOutgoingIntegration.ts +++ b/apps/meteor/server/meteor-methods/integrations/outgoing/replayOutgoingIntegration.ts @@ -3,8 +3,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Integrations, IntegrationHistory } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; -import { triggerHandler } from '../../lib/triggerHandler'; +import { triggerHandler } from '../../../../app/integrations/server/lib/triggerHandler'; +import { hasPermissionAsync } from '../../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/integrations/server/methods/outgoing/updateOutgoingIntegration.ts b/apps/meteor/server/meteor-methods/integrations/outgoing/updateOutgoingIntegration.ts similarity index 90% rename from apps/meteor/app/integrations/server/methods/outgoing/updateOutgoingIntegration.ts rename to apps/meteor/server/meteor-methods/integrations/outgoing/updateOutgoingIntegration.ts index 434d538f9a1ba..d8a83b8ed11df 100644 --- a/apps/meteor/app/integrations/server/methods/outgoing/updateOutgoingIntegration.ts +++ b/apps/meteor/server/meteor-methods/integrations/outgoing/updateOutgoingIntegration.ts @@ -4,11 +4,11 @@ import { Integrations, Users } from '@rocket.chat/models'; import { wrapExceptions } from '@rocket.chat/tools'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../../server/lib/authorization/hasPermission'; -import { methodDeprecationLogger } from '../../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnIntegrationChanged } from '../../../../lib/server/lib/notifyListener'; -import { validateOutgoingIntegration } from '../../lib/validateOutgoingIntegration'; -import { isScriptEngineFrozen, validateScriptEngine } from '../../lib/validateScriptEngine'; +import { validateOutgoingIntegration } from '../../../../app/integrations/server/lib/validateOutgoingIntegration'; +import { isScriptEngineFrozen, validateScriptEngine } from '../../../../app/integrations/server/lib/validateScriptEngine'; +import { methodDeprecationLogger } from '../../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnIntegrationChanged } from '../../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync } from '../../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/createDirectMessage.ts b/apps/meteor/server/meteor-methods/messages/createDirectMessage.ts similarity index 91% rename from apps/meteor/server/methods/createDirectMessage.ts rename to apps/meteor/server/meteor-methods/messages/createDirectMessage.ts index 8715dd3619bda..d3f8b3bccaa0a 100644 --- a/apps/meteor/server/methods/createDirectMessage.ts +++ b/apps/meteor/server/meteor-methods/messages/createDirectMessage.ts @@ -5,11 +5,11 @@ import { Rooms, Users } from '@rocket.chat/models'; import { check, Match } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { RateLimiterClass as RateLimiter } from '../../app/lib/server/lib/RateLimiter'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { callbacks } from '../lib/callbacks'; -import { createRoom } from '../lib/rooms/createRoom'; +import { RateLimiterClass as RateLimiter } from '../../../app/lib/server/lib/RateLimiter'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { callbacks } from '../../lib/callbacks'; +import { createRoom } from '../../lib/rooms/createRoom'; export async function createDirectMessage( usernames: IUser['username'][], diff --git a/apps/meteor/app/discussion/server/methods/createDiscussion.ts b/apps/meteor/server/meteor-methods/messages/createDiscussion.ts similarity index 89% rename from apps/meteor/app/discussion/server/methods/createDiscussion.ts rename to apps/meteor/server/meteor-methods/messages/createDiscussion.ts index fa940c2e65953..fd2b04c849604 100644 --- a/apps/meteor/app/discussion/server/methods/createDiscussion.ts +++ b/apps/meteor/server/meteor-methods/messages/createDiscussion.ts @@ -6,17 +6,17 @@ import { Random } from '@rocket.chat/random'; import { check, Match } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canSendMessageAsync } from '../../../../server/lib/authorization/canSendMessage'; -import { hasAtLeastOnePermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { i18n } from '../../../../server/lib/i18n'; -import { attachMessage } from '../../../../server/lib/messages/attachMessage'; -import { sendMessage } from '../../../../server/lib/messages/sendMessage'; -import { addUserToRoom } from '../../../../server/lib/rooms/addUserToRoom'; -import { createRoom } from '../../../../server/lib/rooms/createRoom'; -import { roomCoordinator } from '../../../../server/lib/rooms/roomCoordinator'; -import { afterSaveMessageAsync } from '../../../lib/server/lib/afterSaveMessage'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { settings } from '../../../settings/server'; +import { afterSaveMessageAsync } from '../../../app/lib/server/lib/afterSaveMessage'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import { canSendMessageAsync } from '../../lib/authorization/canSendMessage'; +import { hasAtLeastOnePermissionAsync } from '../../lib/authorization/hasPermission'; +import { i18n } from '../../lib/i18n'; +import { attachMessage } from '../../lib/messages/attachMessage'; +import { sendMessage } from '../../lib/messages/sendMessage'; +import { addUserToRoom } from '../../lib/rooms/addUserToRoom'; +import { createRoom } from '../../lib/rooms/createRoom'; +import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; const getParentRoom = async (rid: IRoom['_id']) => { const room = await Rooms.findOne(rid); diff --git a/apps/meteor/server/methods/deleteFileMessage.ts b/apps/meteor/server/meteor-methods/messages/deleteFileMessage.ts similarity index 87% rename from apps/meteor/server/methods/deleteFileMessage.ts rename to apps/meteor/server/meteor-methods/messages/deleteFileMessage.ts index f13cf59cff9b8..b5e12f9a76415 100644 --- a/apps/meteor/server/methods/deleteFileMessage.ts +++ b/apps/meteor/server/meteor-methods/messages/deleteFileMessage.ts @@ -5,9 +5,9 @@ import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import type { DeleteResult } from 'mongodb'; -import { FileUpload } from '../../app/file-upload/server'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { deleteMessageValidatingPermission } from '../lib/messages/deleteMessage'; +import { FileUpload } from '../../../app/file-upload/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { deleteMessageValidatingPermission } from '../../lib/messages/deleteMessage'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/executeSlashCommandPreview.ts b/apps/meteor/server/meteor-methods/messages/executeSlashCommandPreview.ts similarity index 96% rename from apps/meteor/app/lib/server/methods/executeSlashCommandPreview.ts rename to apps/meteor/server/meteor-methods/messages/executeSlashCommandPreview.ts index ad0f856e218a8..9d7a64228fd68 100644 --- a/apps/meteor/app/lib/server/methods/executeSlashCommandPreview.ts +++ b/apps/meteor/server/meteor-methods/messages/executeSlashCommandPreview.ts @@ -2,7 +2,7 @@ import type { IMessage, RequiredField, SlashCommandPreviewItem } from '@rocket.c import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { slashCommands } from '../../../utils/server/slashCommand'; +import { slashCommands } from '../../../app/utils/server/slashCommand'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/threads/server/methods/followMessage.ts b/apps/meteor/server/meteor-methods/messages/followMessage.ts similarity index 81% rename from apps/meteor/app/threads/server/methods/followMessage.ts rename to apps/meteor/server/meteor-methods/messages/followMessage.ts index f3aa27f0309ac..f726bb29aa543 100644 --- a/apps/meteor/app/threads/server/methods/followMessage.ts +++ b/apps/meteor/server/meteor-methods/messages/followMessage.ts @@ -5,12 +5,12 @@ import { Messages } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomIdAsync } from '../../../../server/lib/authorization/canAccessRoom'; -import { RateLimiter } from '../../../lib/server'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnMessageChange } from '../../../lib/server/lib/notifyListener'; -import { settings } from '../../../settings/server'; -import { follow } from '../functions'; +import { RateLimiter } from '../../../app/lib/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnMessageChange } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { follow } from '../../../app/threads/server/functions'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/getChannelHistory.ts b/apps/meteor/server/meteor-methods/messages/getChannelHistory.ts similarity index 92% rename from apps/meteor/app/lib/server/methods/getChannelHistory.ts rename to apps/meteor/server/meteor-methods/messages/getChannelHistory.ts index a41fc82dc3d54..6efbde52888b8 100644 --- a/apps/meteor/app/lib/server/methods/getChannelHistory.ts +++ b/apps/meteor/server/meteor-methods/messages/getChannelHistory.ts @@ -5,10 +5,10 @@ import { Messages, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { settings } from '../../../settings/server/cached'; -import { normalizeMessagesForUser } from '../../../utils/server/lib/normalizeMessagesForUser'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; -import { getHiddenSystemMessages } from '../lib/getHiddenSystemMessages'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { getHiddenSystemMessages } from '../../../app/lib/server/lib/getHiddenSystemMessages'; +import { settings } from '../../../app/settings/server/cached'; +import { normalizeMessagesForUser } from '../../../app/utils/server/lib/normalizeMessagesForUser'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/getMessages.ts b/apps/meteor/server/meteor-methods/messages/getMessages.ts similarity index 91% rename from apps/meteor/app/lib/server/methods/getMessages.ts rename to apps/meteor/server/meteor-methods/messages/getMessages.ts index 7781e1ee892d2..c423fefc1f12c 100644 --- a/apps/meteor/app/lib/server/methods/getMessages.ts +++ b/apps/meteor/server/meteor-methods/messages/getMessages.ts @@ -4,7 +4,7 @@ import { Messages } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomIdAsync } from '../../../../server/lib/authorization/canAccessRoom'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/getSingleMessage.ts b/apps/meteor/server/meteor-methods/messages/getSingleMessage.ts similarity index 92% rename from apps/meteor/app/lib/server/methods/getSingleMessage.ts rename to apps/meteor/server/meteor-methods/messages/getSingleMessage.ts index 061f250ae8c4a..94e4e8e2a4639 100644 --- a/apps/meteor/app/lib/server/methods/getSingleMessage.ts +++ b/apps/meteor/server/meteor-methods/messages/getSingleMessage.ts @@ -4,7 +4,7 @@ import { Messages } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomIdAsync } from '../../../../server/lib/authorization/canAccessRoom'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/getSlashCommandPreviews.ts b/apps/meteor/server/meteor-methods/messages/getSlashCommandPreviews.ts similarity index 95% rename from apps/meteor/app/lib/server/methods/getSlashCommandPreviews.ts rename to apps/meteor/server/meteor-methods/messages/getSlashCommandPreviews.ts index 7bffc20292de7..20dabba2cdf74 100644 --- a/apps/meteor/app/lib/server/methods/getSlashCommandPreviews.ts +++ b/apps/meteor/server/meteor-methods/messages/getSlashCommandPreviews.ts @@ -2,7 +2,7 @@ import type { IMessage, RequiredField, SlashCommandPreviews } from '@rocket.chat import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { slashCommands } from '../../../utils/server/slashCommand'; +import { slashCommands } from '../../../app/utils/server/slashCommand'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/threads/server/methods/getThreadMessages.ts b/apps/meteor/server/meteor-methods/messages/getThreadMessages.ts similarity index 86% rename from apps/meteor/app/threads/server/methods/getThreadMessages.ts rename to apps/meteor/server/meteor-methods/messages/getThreadMessages.ts index d90df8d554f19..0311dbe89655d 100644 --- a/apps/meteor/app/threads/server/methods/getThreadMessages.ts +++ b/apps/meteor/server/meteor-methods/messages/getThreadMessages.ts @@ -3,10 +3,10 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Messages, Rooms } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { callbacks } from '../../../../server/lib/callbacks'; -import { canAccessRoomAsync } from '../../../authorization/server'; -import { settings } from '../../../settings/server'; -import { readThread } from '../functions'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { settings } from '../../../app/settings/server'; +import { readThread } from '../../../app/threads/server/functions'; +import { callbacks } from '../../lib/callbacks'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/threads/server/methods/getThreadsList.ts b/apps/meteor/server/meteor-methods/messages/getThreadsList.ts similarity index 85% rename from apps/meteor/app/threads/server/methods/getThreadsList.ts rename to apps/meteor/server/meteor-methods/messages/getThreadsList.ts index f9a51fa9cd79e..2730a49648aec 100644 --- a/apps/meteor/app/threads/server/methods/getThreadsList.ts +++ b/apps/meteor/server/meteor-methods/messages/getThreadsList.ts @@ -3,9 +3,9 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Messages, Rooms } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync } from '../../../authorization/server'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { settings } from '../../../settings/server'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; const MAX_LIMIT = 100; diff --git a/apps/meteor/server/methods/loadHistory.ts b/apps/meteor/server/meteor-methods/messages/loadHistory.ts similarity index 89% rename from apps/meteor/server/methods/loadHistory.ts rename to apps/meteor/server/meteor-methods/messages/loadHistory.ts index 6bc0f50600be8..75bb0592fc4f9 100644 --- a/apps/meteor/server/methods/loadHistory.ts +++ b/apps/meteor/server/meteor-methods/messages/loadHistory.ts @@ -4,10 +4,10 @@ import { Subscriptions, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync, roomAccessAttributes } from '../../app/authorization/server'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { loadMessageHistory } from '../lib/messages/loadMessageHistory'; +import { canAccessRoomAsync, roomAccessAttributes } from '../../../app/authorization/server'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { loadMessageHistory } from '../../lib/messages/loadMessageHistory'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/loadMissedMessages.ts b/apps/meteor/server/meteor-methods/messages/loadMissedMessages.ts similarity index 92% rename from apps/meteor/server/methods/loadMissedMessages.ts rename to apps/meteor/server/meteor-methods/messages/loadMissedMessages.ts index f95534bbb8a32..6ad62e32c64c1 100644 --- a/apps/meteor/server/methods/loadMissedMessages.ts +++ b/apps/meteor/server/meteor-methods/messages/loadMissedMessages.ts @@ -4,7 +4,7 @@ import { Messages } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomIdAsync } from '../lib/authorization/canAccessRoom'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/loadNextMessages.ts b/apps/meteor/server/meteor-methods/messages/loadNextMessages.ts similarity index 89% rename from apps/meteor/server/methods/loadNextMessages.ts rename to apps/meteor/server/meteor-methods/messages/loadNextMessages.ts index 80959cc887056..a0ae85d5a17d3 100644 --- a/apps/meteor/server/methods/loadNextMessages.ts +++ b/apps/meteor/server/meteor-methods/messages/loadNextMessages.ts @@ -4,8 +4,8 @@ import { Messages } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { normalizeMessagesForUser } from '../../app/utils/server/lib/normalizeMessagesForUser'; -import { canAccessRoomIdAsync } from '../lib/authorization/canAccessRoom'; +import { normalizeMessagesForUser } from '../../../app/utils/server/lib/normalizeMessagesForUser'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/loadSurroundingMessages.ts b/apps/meteor/server/meteor-methods/messages/loadSurroundingMessages.ts similarity index 92% rename from apps/meteor/server/methods/loadSurroundingMessages.ts rename to apps/meteor/server/meteor-methods/messages/loadSurroundingMessages.ts index 128c10af3436f..990a4c19b643c 100644 --- a/apps/meteor/server/methods/loadSurroundingMessages.ts +++ b/apps/meteor/server/meteor-methods/messages/loadSurroundingMessages.ts @@ -5,8 +5,8 @@ import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import type { FindOptions } from 'mongodb'; -import { normalizeMessagesForUser } from '../../app/utils/server/lib/normalizeMessagesForUser'; -import { canAccessRoomIdAsync } from '../lib/authorization/canAccessRoom'; +import { normalizeMessagesForUser } from '../../../app/utils/server/lib/normalizeMessagesForUser'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/messageSearch.ts b/apps/meteor/server/meteor-methods/messages/messageSearch.ts similarity index 86% rename from apps/meteor/server/methods/messageSearch.ts rename to apps/meteor/server/meteor-methods/messages/messageSearch.ts index d532af23445d7..fa4712010eab0 100644 --- a/apps/meteor/server/methods/messageSearch.ts +++ b/apps/meteor/server/meteor-methods/messages/messageSearch.ts @@ -5,12 +5,12 @@ import { Messages, Subscriptions, Users } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import type { IRawSearchResult } from '../../app/search/server/model/ISearchResult'; -import { settings } from '../../app/settings/server'; -import { readSecondaryPreferred } from '../database/readSecondaryPreferred'; -import { canAccessRoomIdAsync } from '../lib/authorization/canAccessRoom'; -import { parseMessageSearchQuery } from '../lib/parseMessageSearchQuery'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import type { IRawSearchResult } from '../../../app/search/server/model/ISearchResult'; +import { settings } from '../../../app/settings/server'; +import { readSecondaryPreferred } from '../../database/readSecondaryPreferred'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; +import { parseMessageSearchQuery } from '../../lib/parseMessageSearchQuery'; const logger = new Logger('MessageSearch'); diff --git a/apps/meteor/server/methods/readMessages.ts b/apps/meteor/server/meteor-methods/messages/readMessages.ts similarity index 90% rename from apps/meteor/server/methods/readMessages.ts rename to apps/meteor/server/meteor-methods/messages/readMessages.ts index b698a440a534e..f5794f7591813 100644 --- a/apps/meteor/server/methods/readMessages.ts +++ b/apps/meteor/server/meteor-methods/messages/readMessages.ts @@ -4,8 +4,8 @@ import { Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync } from '../../app/authorization/server'; -import { readMessages } from '../lib/readMessages'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { readMessages } from '../../lib/readMessages'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/readThreads.ts b/apps/meteor/server/meteor-methods/messages/readThreads.ts similarity index 84% rename from apps/meteor/server/methods/readThreads.ts rename to apps/meteor/server/meteor-methods/messages/readThreads.ts index c1a6fe3807350..89d10d8d3efd7 100644 --- a/apps/meteor/server/methods/readThreads.ts +++ b/apps/meteor/server/meteor-methods/messages/readThreads.ts @@ -4,10 +4,10 @@ import { Messages, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync } from '../../app/authorization/server'; -import { settings } from '../../app/settings/server'; -import { readThread } from '../../app/threads/server/functions'; -import { callbacks } from '../lib/callbacks'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { settings } from '../../../app/settings/server'; +import { readThread } from '../../../app/threads/server/functions'; +import { callbacks } from '../../lib/callbacks'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/sendMessage.ts b/apps/meteor/server/meteor-methods/messages/sendMessage.ts similarity index 89% rename from apps/meteor/app/lib/server/methods/sendMessage.ts rename to apps/meteor/server/meteor-methods/messages/sendMessage.ts index 8e060f58dfd07..911a4f34609a2 100644 --- a/apps/meteor/app/lib/server/methods/sendMessage.ts +++ b/apps/meteor/server/meteor-methods/messages/sendMessage.ts @@ -9,15 +9,15 @@ import { check, Match } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import moment from 'moment'; -import { canSendMessageAsync } from '../../../../server/lib/authorization/canSendMessage'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { i18n } from '../../../../server/lib/i18n'; -import { SystemLogger } from '../../../../server/lib/logger/system'; -import { sendMessage } from '../../../../server/lib/messages/sendMessage'; -import { applyAirGappedRestrictionsValidation } from '../../../license/server/airGappedRestrictionsWrapper'; -import { metrics } from '../../../metrics/server'; -import { settings } from '../../../settings/server'; -import { RateLimiter } from '../lib'; +import { RateLimiter } from '../../../app/lib/server/lib'; +import { applyAirGappedRestrictionsValidation } from '../../../app/license/server/airGappedRestrictionsWrapper'; +import { metrics } from '../../../app/metrics/server'; +import { settings } from '../../../app/settings/server'; +import { canSendMessageAsync } from '../../lib/authorization/canSendMessage'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { i18n } from '../../lib/i18n'; +import { SystemLogger } from '../../lib/logger/system'; +import { sendMessage } from '../../lib/messages/sendMessage'; /** * * @param uid diff --git a/apps/meteor/app/threads/server/methods/unfollowMessage.ts b/apps/meteor/server/meteor-methods/messages/unfollowMessage.ts similarity index 81% rename from apps/meteor/app/threads/server/methods/unfollowMessage.ts rename to apps/meteor/server/meteor-methods/messages/unfollowMessage.ts index 1dec7d2941a2f..bb7bb0ff3b072 100644 --- a/apps/meteor/app/threads/server/methods/unfollowMessage.ts +++ b/apps/meteor/server/meteor-methods/messages/unfollowMessage.ts @@ -5,12 +5,12 @@ import { Messages } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomIdAsync } from '../../../../server/lib/authorization/canAccessRoom'; -import { RateLimiter } from '../../../lib/server'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnMessageChange } from '../../../lib/server/lib/notifyListener'; -import { settings } from '../../../settings/server'; -import { unfollow } from '../functions'; +import { RateLimiter } from '../../../app/lib/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnMessageChange } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { unfollow } from '../../../app/threads/server/functions'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/updateMessage.ts b/apps/meteor/server/meteor-methods/messages/updateMessage.ts similarity index 91% rename from apps/meteor/app/lib/server/methods/updateMessage.ts rename to apps/meteor/server/meteor-methods/messages/updateMessage.ts index 8aeafbf631820..d42b4ced86d74 100644 --- a/apps/meteor/app/lib/server/methods/updateMessage.ts +++ b/apps/meteor/server/meteor-methods/messages/updateMessage.ts @@ -5,11 +5,11 @@ import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import moment from 'moment'; -import { canSendMessageAsync } from '../../../../server/lib/authorization/canSendMessage'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { updateMessage } from '../../../../server/lib/messages/updateMessage'; -import { applyAirGappedRestrictionsValidation } from '../../../license/server/airGappedRestrictionsWrapper'; -import { settings } from '../../../settings/server'; +import { applyAirGappedRestrictionsValidation } from '../../../app/license/server/airGappedRestrictionsWrapper'; +import { settings } from '../../../app/settings/server'; +import { canSendMessageAsync } from '../../lib/authorization/canSendMessage'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { updateMessage } from '../../lib/messages/updateMessage'; const allowedEditedFields = ['tshow', 'alias', 'attachments', 'avatar', 'emoji', 'msg', 'customFields', 'content', 'e2eMentions']; diff --git a/apps/meteor/app/livechat/server/methods/sendFileLivechatMessage.ts b/apps/meteor/server/meteor-methods/omnichannel/sendFileLivechatMessage.ts similarity index 97% rename from apps/meteor/app/livechat/server/methods/sendFileLivechatMessage.ts rename to apps/meteor/server/meteor-methods/omnichannel/sendFileLivechatMessage.ts index ad71a87881528..b35afb8953a5a 100644 --- a/apps/meteor/app/livechat/server/methods/sendFileLivechatMessage.ts +++ b/apps/meteor/server/meteor-methods/omnichannel/sendFileLivechatMessage.ts @@ -10,7 +10,7 @@ import { Random } from '@rocket.chat/random'; import { Match, check } from 'meteor/check'; import { sendMessageLivechat } from './sendMessageLivechat'; -import { FileUpload } from '../../../file-upload/server'; +import { FileUpload } from '../../../app/file-upload/server'; interface ISendFileLivechatMessage { roomId: string; diff --git a/apps/meteor/app/livechat/server/methods/sendMessageLivechat.ts b/apps/meteor/server/meteor-methods/omnichannel/sendMessageLivechat.ts similarity index 86% rename from apps/meteor/app/livechat/server/methods/sendMessageLivechat.ts rename to apps/meteor/server/meteor-methods/omnichannel/sendMessageLivechat.ts index 434b99ebb4303..0b0931e754827 100644 --- a/apps/meteor/app/livechat/server/methods/sendMessageLivechat.ts +++ b/apps/meteor/server/meteor-methods/omnichannel/sendMessageLivechat.ts @@ -4,10 +4,10 @@ import { LivechatVisitors } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { settings } from '../../../settings/server'; -import type { ILivechatMessage } from '../lib/localTypes'; -import { sendMessage } from '../lib/messages'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import type { ILivechatMessage } from '../../../app/livechat/server/lib/localTypes'; +import { sendMessage } from '../../../app/livechat/server/lib/messages'; +import { settings } from '../../../app/settings/server'; interface ILivechatMessageAgent { agentId: string; diff --git a/apps/meteor/server/methods/OEmbedCacheCleanup.ts b/apps/meteor/server/meteor-methods/platform/OEmbedCacheCleanup.ts similarity index 87% rename from apps/meteor/server/methods/OEmbedCacheCleanup.ts rename to apps/meteor/server/meteor-methods/platform/OEmbedCacheCleanup.ts index d265ce0ad5119..48eeeb09035db 100644 --- a/apps/meteor/server/methods/OEmbedCacheCleanup.ts +++ b/apps/meteor/server/meteor-methods/platform/OEmbedCacheCleanup.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { OEmbedCache } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/checkFederationConfiguration.ts b/apps/meteor/server/meteor-methods/platform/checkFederationConfiguration.ts similarity index 100% rename from apps/meteor/app/lib/server/methods/checkFederationConfiguration.ts rename to apps/meteor/server/meteor-methods/platform/checkFederationConfiguration.ts diff --git a/apps/meteor/app/e2e/server/methods/fetchMyKeys.ts b/apps/meteor/server/meteor-methods/platform/fetchMyKeys.ts similarity index 88% rename from apps/meteor/app/e2e/server/methods/fetchMyKeys.ts rename to apps/meteor/server/meteor-methods/platform/fetchMyKeys.ts index b788542dda765..bc89ecb3e0b64 100644 --- a/apps/meteor/app/e2e/server/methods/fetchMyKeys.ts +++ b/apps/meteor/server/meteor-methods/platform/fetchMyKeys.ts @@ -2,7 +2,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/autotranslate/server/methods/getProviderUiMetadata.ts b/apps/meteor/server/meteor-methods/platform/getProviderUiMetadata.ts similarity index 89% rename from apps/meteor/app/autotranslate/server/methods/getProviderUiMetadata.ts rename to apps/meteor/server/meteor-methods/platform/getProviderUiMetadata.ts index 1d443c21d210f..b1528cc0fba7f 100644 --- a/apps/meteor/app/autotranslate/server/methods/getProviderUiMetadata.ts +++ b/apps/meteor/server/meteor-methods/platform/getProviderUiMetadata.ts @@ -1,7 +1,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { TranslationProviderRegistry } from '../autotranslate'; +import { TranslationProviderRegistry } from '../../../app/autotranslate/server/autotranslate'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/autotranslate/server/methods/getSupportedLanguages.ts b/apps/meteor/server/meteor-methods/platform/getSupportedLanguages.ts similarity index 89% rename from apps/meteor/app/autotranslate/server/methods/getSupportedLanguages.ts rename to apps/meteor/server/meteor-methods/platform/getSupportedLanguages.ts index 2e853057336a0..e7fc7150e551e 100644 --- a/apps/meteor/app/autotranslate/server/methods/getSupportedLanguages.ts +++ b/apps/meteor/server/meteor-methods/platform/getSupportedLanguages.ts @@ -3,7 +3,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; -import { getSupportedLanguages } from '../functions/getSupportedLanguages'; +import { getSupportedLanguages } from '../../../app/autotranslate/server/functions/getSupportedLanguages'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/e2e/server/methods/getUsersOfRoomWithoutKey.ts b/apps/meteor/server/meteor-methods/platform/getUsersOfRoomWithoutKey.ts similarity index 94% rename from apps/meteor/app/e2e/server/methods/getUsersOfRoomWithoutKey.ts rename to apps/meteor/server/meteor-methods/platform/getUsersOfRoomWithoutKey.ts index 0b5a5a44c7eff..fc3a73e65ecbe 100644 --- a/apps/meteor/app/e2e/server/methods/getUsersOfRoomWithoutKey.ts +++ b/apps/meteor/server/meteor-methods/platform/getUsersOfRoomWithoutKey.ts @@ -4,7 +4,7 @@ import { Subscriptions, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomIdAsync } from '../../../../server/lib/authorization/canAccessRoom'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/loadLocale.ts b/apps/meteor/server/meteor-methods/platform/loadLocale.ts similarity index 90% rename from apps/meteor/server/methods/loadLocale.ts rename to apps/meteor/server/meteor-methods/platform/loadLocale.ts index 891f708037b99..6a2355aa1ed91 100644 --- a/apps/meteor/server/methods/loadLocale.ts +++ b/apps/meteor/server/meteor-methods/platform/loadLocale.ts @@ -2,7 +2,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { getMomentLocale } from '../lib/getMomentLocale'; +import { getMomentLocale } from '../../lib/getMomentLocale'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/requestDataDownload.ts b/apps/meteor/server/meteor-methods/platform/requestDataDownload.ts similarity index 94% rename from apps/meteor/server/methods/requestDataDownload.ts rename to apps/meteor/server/meteor-methods/platform/requestDataDownload.ts index da1394a31939f..ad51a5d4129cd 100644 --- a/apps/meteor/server/methods/requestDataDownload.ts +++ b/apps/meteor/server/meteor-methods/platform/requestDataDownload.ts @@ -7,9 +7,9 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { ExportOperations, UserDataFiles } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { settings } from '../../app/settings/server'; -import * as dataExport from '../lib/dataExport'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import * as dataExport from '../../lib/dataExport'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/e2e/server/methods/requestSubscriptionKeys.ts b/apps/meteor/server/meteor-methods/platform/requestSubscriptionKeys.ts similarity index 93% rename from apps/meteor/app/e2e/server/methods/requestSubscriptionKeys.ts rename to apps/meteor/server/meteor-methods/platform/requestSubscriptionKeys.ts index 2beea4346dcaa..4ec947eb1b198 100644 --- a/apps/meteor/app/e2e/server/methods/requestSubscriptionKeys.ts +++ b/apps/meteor/server/meteor-methods/platform/requestSubscriptionKeys.ts @@ -3,7 +3,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Subscriptions, Rooms } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/e2e/server/methods/resetOwnE2EKey.ts b/apps/meteor/server/meteor-methods/platform/resetOwnE2EKey.ts similarity index 78% rename from apps/meteor/app/e2e/server/methods/resetOwnE2EKey.ts rename to apps/meteor/server/meteor-methods/platform/resetOwnE2EKey.ts index 2c63a89b6a382..41cb4dc7633d4 100644 --- a/apps/meteor/app/e2e/server/methods/resetOwnE2EKey.ts +++ b/apps/meteor/server/meteor-methods/platform/resetOwnE2EKey.ts @@ -2,9 +2,9 @@ import { MeteorError } from '@rocket.chat/core-services'; import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { resetUserE2EEncriptionKey } from '../../../../server/lib/resetUserE2EKey'; -import { twoFactorRequired } from '../../../2fa/server/twoFactorRequired'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; +import { twoFactorRequired } from '../../../app/2fa/server/twoFactorRequired'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { resetUserE2EEncriptionKey } from '../../lib/resetUserE2EKey'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/restartServer.ts b/apps/meteor/server/meteor-methods/platform/restartServer.ts similarity index 91% rename from apps/meteor/app/lib/server/methods/restartServer.ts rename to apps/meteor/server/meteor-methods/platform/restartServer.ts index aa82dd01c8f77..337131fb5547c 100644 --- a/apps/meteor/app/lib/server/methods/restartServer.ts +++ b/apps/meteor/server/meteor-methods/platform/restartServer.ts @@ -1,7 +1,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/autotranslate/server/methods/saveSettings.ts b/apps/meteor/server/meteor-methods/platform/saveSettings.ts similarity index 80% rename from apps/meteor/app/autotranslate/server/methods/saveSettings.ts rename to apps/meteor/server/meteor-methods/platform/saveSettings.ts index fa5badb0e1af5..6464935646849 100644 --- a/apps/meteor/app/autotranslate/server/methods/saveSettings.ts +++ b/apps/meteor/server/meteor-methods/platform/saveSettings.ts @@ -1,8 +1,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { saveAutoTranslateSettings } from '../functions/saveSettings'; +import { saveAutoTranslateSettings } from '../../../app/autotranslate/server/functions/saveSettings'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/e2e/server/methods/setRoomKeyID.ts b/apps/meteor/server/meteor-methods/platform/setRoomKeyID.ts similarity index 90% rename from apps/meteor/app/e2e/server/methods/setRoomKeyID.ts rename to apps/meteor/server/meteor-methods/platform/setRoomKeyID.ts index 2b391338a3925..49c930096d806 100644 --- a/apps/meteor/app/e2e/server/methods/setRoomKeyID.ts +++ b/apps/meteor/server/meteor-methods/platform/setRoomKeyID.ts @@ -4,8 +4,8 @@ import { Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomIdAsync } from '../../../../server/lib/authorization/canAccessRoom'; -import { notifyOnRoomChangedById } from '../../../lib/server/lib/notifyListener'; +import { notifyOnRoomChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/e2e/server/methods/setUserPublicAndPrivateKeys.ts b/apps/meteor/server/meteor-methods/platform/setUserPublicAndPrivateKeys.ts similarity index 91% rename from apps/meteor/app/e2e/server/methods/setUserPublicAndPrivateKeys.ts rename to apps/meteor/server/meteor-methods/platform/setUserPublicAndPrivateKeys.ts index 9d54f9a81b532..2b37c23d7ea97 100644 --- a/apps/meteor/app/e2e/server/methods/setUserPublicAndPrivateKeys.ts +++ b/apps/meteor/server/meteor-methods/platform/setUserPublicAndPrivateKeys.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Rooms, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../../lib/server/lib/deprecationWarningLogger'; -import { notifyOnRoomChangedById } from '../../../lib/server/lib/notifyListener'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnRoomChangedById } from '../../../app/lib/server/lib/notifyListener'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/autotranslate/server/methods/translateMessage.ts b/apps/meteor/server/meteor-methods/platform/translateMessage.ts similarity index 88% rename from apps/meteor/app/autotranslate/server/methods/translateMessage.ts rename to apps/meteor/server/meteor-methods/platform/translateMessage.ts index 673f8dcf153e7..e285fa97e4f6e 100644 --- a/apps/meteor/app/autotranslate/server/methods/translateMessage.ts +++ b/apps/meteor/server/meteor-methods/platform/translateMessage.ts @@ -4,8 +4,8 @@ import { Messages, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync } from '../../../authorization/server'; -import { translateMessage } from '../functions/translateMessage'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { translateMessage } from '../../../app/autotranslate/server/functions/translateMessage'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/e2e/server/methods/updateGroupKey.ts b/apps/meteor/server/meteor-methods/platform/updateGroupKey.ts similarity index 96% rename from apps/meteor/app/e2e/server/methods/updateGroupKey.ts rename to apps/meteor/server/meteor-methods/platform/updateGroupKey.ts index 1c018cb71cd37..fde6e704a2461 100644 --- a/apps/meteor/app/e2e/server/methods/updateGroupKey.ts +++ b/apps/meteor/server/meteor-methods/platform/updateGroupKey.ts @@ -4,7 +4,7 @@ import { notifyOnSubscriptionChangedById, notifyOnSubscriptionChanged, notifyOnRoomChangedById, -} from '../../../lib/server/lib/notifyListener'; +} from '../../../app/lib/server/lib/notifyListener'; export async function updateGroupKey(rid: string, uid: string, key: string, callerUserId: string) { // I have a subscription to this room diff --git a/apps/meteor/server/methods/addAllUserToRoom.ts b/apps/meteor/server/meteor-methods/rooms/addAllUserToRoom.ts similarity index 80% rename from apps/meteor/server/methods/addAllUserToRoom.ts rename to apps/meteor/server/meteor-methods/rooms/addAllUserToRoom.ts index 8955e659beb07..60a0638d3d9c1 100644 --- a/apps/meteor/server/methods/addAllUserToRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/addAllUserToRoom.ts @@ -5,14 +5,14 @@ import { Subscriptions, Rooms, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { beforeAddUserToRoom } from '../../app/lib/server/lib/beforeAddUserToRoom'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { getDefaultSubscriptionPref } from '../../app/utils/lib/getDefaultSubscriptionPref'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { callbacks } from '../lib/callbacks'; -import { getSubscriptionAutotranslateDefaultConfig } from '../lib/getSubscriptionAutotranslateDefaultConfig'; +import { beforeAddUserToRoom } from '../../../app/lib/server/lib/beforeAddUserToRoom'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { getDefaultSubscriptionPref } from '../../../app/utils/lib/getDefaultSubscriptionPref'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { callbacks } from '../../lib/callbacks'; +import { getSubscriptionAutotranslateDefaultConfig } from '../../lib/getSubscriptionAutotranslateDefaultConfig'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/addRoomLeader.ts b/apps/meteor/server/meteor-methods/rooms/addRoomLeader.ts similarity index 87% rename from apps/meteor/server/methods/addRoomLeader.ts rename to apps/meteor/server/meteor-methods/rooms/addRoomLeader.ts index 6554880183503..af5fd12451fb6 100644 --- a/apps/meteor/server/methods/addRoomLeader.ts +++ b/apps/meteor/server/meteor-methods/rooms/addRoomLeader.ts @@ -5,11 +5,11 @@ import { Subscriptions, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { syncRoomRolePriorityForUserAndRoom } from '../lib/roles/syncRoomRolePriority'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { syncRoomRolePriorityForUserAndRoom } from '../../lib/roles/syncRoomRolePriority'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/addRoomModerator.ts b/apps/meteor/server/meteor-methods/rooms/addRoomModerator.ts similarity index 87% rename from apps/meteor/server/methods/addRoomModerator.ts rename to apps/meteor/server/meteor-methods/rooms/addRoomModerator.ts index 789d311a3e1d4..e0b471c8781da 100644 --- a/apps/meteor/server/methods/addRoomModerator.ts +++ b/apps/meteor/server/meteor-methods/rooms/addRoomModerator.ts @@ -6,13 +6,13 @@ import { Subscriptions, Rooms, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { beforeChangeRoomRole } from '../lib/callbacks/beforeChangeRoomRole'; -import { syncRoomRolePriorityForUserAndRoom } from '../lib/roles/syncRoomRolePriority'; -import { isFederationEnabled, FederationMatrixInvalidConfigurationError } from '../services/federation/utils'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { beforeChangeRoomRole } from '../../lib/callbacks/beforeChangeRoomRole'; +import { syncRoomRolePriorityForUserAndRoom } from '../../lib/roles/syncRoomRolePriority'; +import { isFederationEnabled, FederationMatrixInvalidConfigurationError } from '../../services/federation/utils'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/addRoomOwner.ts b/apps/meteor/server/meteor-methods/rooms/addRoomOwner.ts similarity index 86% rename from apps/meteor/server/methods/addRoomOwner.ts rename to apps/meteor/server/meteor-methods/rooms/addRoomOwner.ts index c63fea19ed467..082f55072e6a5 100644 --- a/apps/meteor/server/methods/addRoomOwner.ts +++ b/apps/meteor/server/meteor-methods/rooms/addRoomOwner.ts @@ -6,13 +6,13 @@ import { Subscriptions, Rooms, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { beforeChangeRoomRole } from '../lib/callbacks/beforeChangeRoomRole'; -import { syncRoomRolePriorityForUserAndRoom } from '../lib/roles/syncRoomRolePriority'; -import { isFederationEnabled, FederationMatrixInvalidConfigurationError } from '../services/federation/utils'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { beforeChangeRoomRole } from '../../lib/callbacks/beforeChangeRoomRole'; +import { syncRoomRolePriorityForUserAndRoom } from '../../lib/roles/syncRoomRolePriority'; +import { isFederationEnabled, FederationMatrixInvalidConfigurationError } from '../../services/federation/utils'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/addUserToRoom.ts b/apps/meteor/server/meteor-methods/rooms/addUserToRoom.ts similarity index 89% rename from apps/meteor/app/lib/server/methods/addUserToRoom.ts rename to apps/meteor/server/meteor-methods/rooms/addUserToRoom.ts index 4c23ae7494ad4..c53d6df7da706 100644 --- a/apps/meteor/app/lib/server/methods/addUserToRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/addUserToRoom.ts @@ -2,7 +2,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; import { addUsersToRoomMethod } from './addUsersToRoom'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/addUsersToRoom.ts b/apps/meteor/server/meteor-methods/rooms/addUsersToRoom.ts similarity index 91% rename from apps/meteor/app/lib/server/methods/addUsersToRoom.ts rename to apps/meteor/server/meteor-methods/rooms/addUsersToRoom.ts index 15f1312af9348..2168ea6536cb1 100644 --- a/apps/meteor/app/lib/server/methods/addUsersToRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/addUsersToRoom.ts @@ -5,11 +5,11 @@ import { Subscriptions, Users, Rooms } from '@rocket.chat/models'; import { Match } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { beforeAddUsersToRoom } from '../../../../server/lib/callbacks/beforeAddUserToRoom'; -import { i18n } from '../../../../server/lib/i18n'; -import { addUserToRoom } from '../../../../server/lib/rooms/addUserToRoom'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { beforeAddUsersToRoom } from '../../lib/callbacks/beforeAddUserToRoom'; +import { i18n } from '../../lib/i18n'; +import { addUserToRoom } from '../../lib/rooms/addUserToRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/archiveRoom.ts b/apps/meteor/server/meteor-methods/rooms/archiveRoom.ts similarity index 81% rename from apps/meteor/app/lib/server/methods/archiveRoom.ts rename to apps/meteor/server/meteor-methods/rooms/archiveRoom.ts index c19ff58910fff..cad3b36d68c3d 100644 --- a/apps/meteor/app/lib/server/methods/archiveRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/archiveRoom.ts @@ -4,11 +4,11 @@ import { Users, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { RoomMemberActions } from '../../../../definition/IRoomTypeConfig'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { archiveRoom } from '../../../../server/lib/rooms/archiveRoom'; -import { roomCoordinator } from '../../../../server/lib/rooms/roomCoordinator'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { RoomMemberActions } from '../../../definition/IRoomTypeConfig'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { archiveRoom } from '../../lib/rooms/archiveRoom'; +import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/browseChannels.ts b/apps/meteor/server/meteor-methods/rooms/browseChannels.ts similarity index 96% rename from apps/meteor/server/methods/browseChannels.ts rename to apps/meteor/server/meteor-methods/rooms/browseChannels.ts index c74118e5a5450..3af0d94eb654a 100644 --- a/apps/meteor/server/methods/browseChannels.ts +++ b/apps/meteor/server/meteor-methods/rooms/browseChannels.ts @@ -9,10 +9,10 @@ import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; import type { FindOptions, SortDirection } from 'mongodb'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { settings } from '../../app/settings/server'; -import { trim } from '../../lib/utils/stringUtils'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import { trim } from '../../../lib/utils/stringUtils'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; const sortChannels = (field: string, direction: 'asc' | 'desc'): Record => { switch (field) { diff --git a/apps/meteor/server/methods/channelsList.ts b/apps/meteor/server/meteor-methods/rooms/channelsList.ts similarity index 89% rename from apps/meteor/server/methods/channelsList.ts rename to apps/meteor/server/meteor-methods/rooms/channelsList.ts index 2f38c9ce82b5a..d3ba17569322b 100644 --- a/apps/meteor/server/methods/channelsList.ts +++ b/apps/meteor/server/meteor-methods/rooms/channelsList.ts @@ -6,11 +6,11 @@ import { Meteor } from 'meteor/meteor'; import type { FindOptions } from 'mongodb'; import _ from 'underscore'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { settings } from '../../app/settings/server'; -import { getUserPreference } from '../../app/utils/server/lib/getUserPreference'; -import { trim } from '../../lib/utils/stringUtils'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import { getUserPreference } from '../../../app/utils/server/lib/getUserPreference'; +import { trim } from '../../../lib/utils/stringUtils'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/cleanRoomHistory.ts b/apps/meteor/server/meteor-methods/rooms/cleanRoomHistory.ts similarity index 88% rename from apps/meteor/app/lib/server/methods/cleanRoomHistory.ts rename to apps/meteor/server/meteor-methods/rooms/cleanRoomHistory.ts index 468a66d1566ac..0a5d86e442040 100644 --- a/apps/meteor/app/lib/server/methods/cleanRoomHistory.ts +++ b/apps/meteor/server/meteor-methods/rooms/cleanRoomHistory.ts @@ -2,10 +2,10 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { findRoomByIdOrName } from '../../../../server/api/v1/rooms'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { cleanRoomHistory } from '../../../../server/lib/rooms/cleanRoomHistory'; -import { canAccessRoomAsync } from '../../../authorization/server'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { findRoomByIdOrName } from '../../api/v1/rooms'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { cleanRoomHistory } from '../../lib/rooms/cleanRoomHistory'; type CleanRoomHistoryParams = { roomId: string; diff --git a/apps/meteor/app/lib/server/methods/createChannel.ts b/apps/meteor/server/meteor-methods/rooms/createChannel.ts similarity index 91% rename from apps/meteor/app/lib/server/methods/createChannel.ts rename to apps/meteor/server/meteor-methods/rooms/createChannel.ts index cd254ff85ac1d..6aaa29b01d651 100644 --- a/apps/meteor/app/lib/server/methods/createChannel.ts +++ b/apps/meteor/server/meteor-methods/rooms/createChannel.ts @@ -4,9 +4,9 @@ import { Users, Team } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { createRoom } from '../../../../server/lib/rooms/createRoom'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { createRoom } from '../../lib/rooms/createRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/createPrivateGroup.ts b/apps/meteor/server/meteor-methods/rooms/createPrivateGroup.ts similarity index 93% rename from apps/meteor/app/lib/server/methods/createPrivateGroup.ts rename to apps/meteor/server/meteor-methods/rooms/createPrivateGroup.ts index 69576ee09aca5..f8ddc400535cf 100644 --- a/apps/meteor/app/lib/server/methods/createPrivateGroup.ts +++ b/apps/meteor/server/meteor-methods/rooms/createPrivateGroup.ts @@ -4,8 +4,8 @@ import { Users, Team } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { createRoom } from '../../../../server/lib/rooms/createRoom'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { createRoom } from '../../lib/rooms/createRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/getRoomById.ts b/apps/meteor/server/meteor-methods/rooms/getRoomById.ts similarity index 94% rename from apps/meteor/server/methods/getRoomById.ts rename to apps/meteor/server/meteor-methods/rooms/getRoomById.ts index ce21f9c9a043c..d360111e375d3 100644 --- a/apps/meteor/server/methods/getRoomById.ts +++ b/apps/meteor/server/meteor-methods/rooms/getRoomById.ts @@ -5,7 +5,7 @@ import { check } from 'meteor/check'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync } from '../../app/authorization/server'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/getRoomIdByNameOrId.ts b/apps/meteor/server/meteor-methods/rooms/getRoomIdByNameOrId.ts similarity index 89% rename from apps/meteor/server/methods/getRoomIdByNameOrId.ts rename to apps/meteor/server/meteor-methods/rooms/getRoomIdByNameOrId.ts index b9e0c0620f6c2..c7a1ccf95d8a4 100644 --- a/apps/meteor/server/methods/getRoomIdByNameOrId.ts +++ b/apps/meteor/server/meteor-methods/rooms/getRoomIdByNameOrId.ts @@ -4,8 +4,8 @@ import { Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync } from '../../app/authorization/server'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/getRoomJoinCode.ts b/apps/meteor/server/meteor-methods/rooms/getRoomJoinCode.ts similarity index 92% rename from apps/meteor/app/lib/server/methods/getRoomJoinCode.ts rename to apps/meteor/server/meteor-methods/rooms/getRoomJoinCode.ts index 7eb608771576b..df577df5fcf9a 100644 --- a/apps/meteor/app/lib/server/methods/getRoomJoinCode.ts +++ b/apps/meteor/server/meteor-methods/rooms/getRoomJoinCode.ts @@ -4,7 +4,7 @@ import { Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/getRoomNameById.ts b/apps/meteor/server/meteor-methods/rooms/getRoomNameById.ts similarity index 88% rename from apps/meteor/server/methods/getRoomNameById.ts rename to apps/meteor/server/meteor-methods/rooms/getRoomNameById.ts index fc7d152b61619..1b99ffddbe3c7 100644 --- a/apps/meteor/server/methods/getRoomNameById.ts +++ b/apps/meteor/server/meteor-methods/rooms/getRoomNameById.ts @@ -4,8 +4,8 @@ import { Subscriptions, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/getRoomRoles.ts b/apps/meteor/server/meteor-methods/rooms/getRoomRoles.ts similarity index 78% rename from apps/meteor/app/lib/server/methods/getRoomRoles.ts rename to apps/meteor/server/meteor-methods/rooms/getRoomRoles.ts index b929181ee301d..e08386a24716e 100644 --- a/apps/meteor/app/lib/server/methods/getRoomRoles.ts +++ b/apps/meteor/server/meteor-methods/rooms/getRoomRoles.ts @@ -3,10 +3,10 @@ import { Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import type { RoomRoles } from '../../../../server/lib/roles/getRoomRoles'; -import { getRoomRoles } from '../../../../server/lib/roles/getRoomRoles'; -import { canAccessRoomAsync } from '../../../authorization/server'; -import { settings } from '../../../settings/server'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { settings } from '../../../app/settings/server'; +import type { RoomRoles } from '../../lib/roles/getRoomRoles'; +import { getRoomRoles } from '../../lib/roles/getRoomRoles'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/getTotalChannels.ts b/apps/meteor/server/meteor-methods/rooms/getTotalChannels.ts similarity index 87% rename from apps/meteor/server/methods/getTotalChannels.ts rename to apps/meteor/server/meteor-methods/rooms/getTotalChannels.ts index 8cb4a9e5abc49..e342288b1b63f 100644 --- a/apps/meteor/server/methods/getTotalChannels.ts +++ b/apps/meteor/server/meteor-methods/rooms/getTotalChannels.ts @@ -2,7 +2,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Rooms } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/hideRoom.ts b/apps/meteor/server/meteor-methods/rooms/hideRoom.ts similarity index 89% rename from apps/meteor/server/methods/hideRoom.ts rename to apps/meteor/server/meteor-methods/rooms/hideRoom.ts index 9f89625b7008b..fd18a20339c1d 100644 --- a/apps/meteor/server/methods/hideRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/hideRoom.ts @@ -3,8 +3,8 @@ import { Subscriptions } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedByRoomIdAndUserId } from '../../app/lib/server/lib/notifyListener'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedByRoomIdAndUserId } from '../../../app/lib/server/lib/notifyListener'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/joinDefaultChannels.ts b/apps/meteor/server/meteor-methods/rooms/joinDefaultChannels.ts similarity index 88% rename from apps/meteor/app/lib/server/methods/joinDefaultChannels.ts rename to apps/meteor/server/meteor-methods/rooms/joinDefaultChannels.ts index 9412d6a180998..f46e370a5726e 100644 --- a/apps/meteor/app/lib/server/methods/joinDefaultChannels.ts +++ b/apps/meteor/server/meteor-methods/rooms/joinDefaultChannels.ts @@ -3,7 +3,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { addUserToDefaultChannels } from '../../../../server/lib/rooms/addUserToDefaultChannels'; +import { addUserToDefaultChannels } from '../../lib/rooms/addUserToDefaultChannels'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/joinRoom.ts b/apps/meteor/server/meteor-methods/rooms/joinRoom.ts similarity index 91% rename from apps/meteor/app/lib/server/methods/joinRoom.ts rename to apps/meteor/server/meteor-methods/rooms/joinRoom.ts index 3ea5d3fbe6273..855812cc693ae 100644 --- a/apps/meteor/app/lib/server/methods/joinRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/joinRoom.ts @@ -5,7 +5,7 @@ import { Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/leaveRoom.ts b/apps/meteor/server/meteor-methods/rooms/leaveRoom.ts similarity index 83% rename from apps/meteor/app/lib/server/methods/leaveRoom.ts rename to apps/meteor/server/meteor-methods/rooms/leaveRoom.ts index 0ea32655b50dd..5ef3d5f973605 100644 --- a/apps/meteor/app/lib/server/methods/leaveRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/leaveRoom.ts @@ -4,12 +4,12 @@ import { Roles, Subscriptions, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { RoomMemberActions } from '../../../../definition/IRoomTypeConfig'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { hasRoleAsync } from '../../../../server/lib/authorization/hasRole'; -import { removeUserFromRoom } from '../../../../server/lib/rooms/removeUserFromRoom'; -import { roomCoordinator } from '../../../../server/lib/rooms/roomCoordinator'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { RoomMemberActions } from '../../../definition/IRoomTypeConfig'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { hasRoleAsync } from '../../lib/authorization/hasRole'; +import { removeUserFromRoom } from '../../lib/rooms/removeUserFromRoom'; +import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/muteUserInRoom.ts b/apps/meteor/server/meteor-methods/rooms/muteUserInRoom.ts similarity index 86% rename from apps/meteor/server/methods/muteUserInRoom.ts rename to apps/meteor/server/meteor-methods/rooms/muteUserInRoom.ts index 7781e855b6cf5..7aff3afd1383d 100644 --- a/apps/meteor/server/methods/muteUserInRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/muteUserInRoom.ts @@ -3,11 +3,11 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { Rooms, Subscriptions, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { notifyOnRoomChangedById } from '../../app/lib/server/lib/notifyListener'; -import { RoomMemberActions } from '../../definition/IRoomTypeConfig'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { callbacks } from '../lib/callbacks'; -import { roomCoordinator } from '../lib/rooms/roomCoordinator'; +import { notifyOnRoomChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { RoomMemberActions } from '../../../definition/IRoomTypeConfig'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { callbacks } from '../../lib/callbacks'; +import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/openRoom.ts b/apps/meteor/server/meteor-methods/rooms/openRoom.ts similarity index 93% rename from apps/meteor/server/methods/openRoom.ts rename to apps/meteor/server/meteor-methods/rooms/openRoom.ts index 354da36f60ebc..c1995cef95bb6 100644 --- a/apps/meteor/server/methods/openRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/openRoom.ts @@ -3,7 +3,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { openRoom } from '../lib/openRoom'; +import { openRoom } from '../../lib/openRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/removeRoomLeader.ts b/apps/meteor/server/meteor-methods/rooms/removeRoomLeader.ts similarity index 87% rename from apps/meteor/server/methods/removeRoomLeader.ts rename to apps/meteor/server/meteor-methods/rooms/removeRoomLeader.ts index 4e4306206c0c9..a3249c5cebdd7 100644 --- a/apps/meteor/server/methods/removeRoomLeader.ts +++ b/apps/meteor/server/meteor-methods/rooms/removeRoomLeader.ts @@ -5,11 +5,11 @@ import { Subscriptions, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { syncRoomRolePriorityForUserAndRoom } from '../lib/roles/syncRoomRolePriority'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { syncRoomRolePriorityForUserAndRoom } from '../../lib/roles/syncRoomRolePriority'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/removeRoomModerator.ts b/apps/meteor/server/meteor-methods/rooms/removeRoomModerator.ts similarity index 87% rename from apps/meteor/server/methods/removeRoomModerator.ts rename to apps/meteor/server/meteor-methods/rooms/removeRoomModerator.ts index 1aed18da5c10d..ead0663ba472b 100644 --- a/apps/meteor/server/methods/removeRoomModerator.ts +++ b/apps/meteor/server/meteor-methods/rooms/removeRoomModerator.ts @@ -6,12 +6,12 @@ import { Subscriptions, Rooms, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { beforeChangeRoomRole } from '../lib/callbacks/beforeChangeRoomRole'; -import { syncRoomRolePriorityForUserAndRoom } from '../lib/roles/syncRoomRolePriority'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { beforeChangeRoomRole } from '../../lib/callbacks/beforeChangeRoomRole'; +import { syncRoomRolePriorityForUserAndRoom } from '../../lib/roles/syncRoomRolePriority'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/removeRoomOwner.ts b/apps/meteor/server/meteor-methods/rooms/removeRoomOwner.ts similarity index 87% rename from apps/meteor/server/methods/removeRoomOwner.ts rename to apps/meteor/server/meteor-methods/rooms/removeRoomOwner.ts index 7b4a1447dc75d..5507b9054dabd 100644 --- a/apps/meteor/server/methods/removeRoomOwner.ts +++ b/apps/meteor/server/meteor-methods/rooms/removeRoomOwner.ts @@ -5,12 +5,12 @@ import { Subscriptions, Rooms, Users, Roles } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { beforeChangeRoomRole } from '../lib/callbacks/beforeChangeRoomRole'; -import { syncRoomRolePriorityForUserAndRoom } from '../lib/roles/syncRoomRolePriority'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { beforeChangeRoomRole } from '../../lib/callbacks/beforeChangeRoomRole'; +import { syncRoomRolePriorityForUserAndRoom } from '../../lib/roles/syncRoomRolePriority'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/removeUserFromRoom.ts b/apps/meteor/server/meteor-methods/rooms/removeUserFromRoom.ts similarity index 86% rename from apps/meteor/server/methods/removeUserFromRoom.ts rename to apps/meteor/server/meteor-methods/rooms/removeUserFromRoom.ts index b090b1e9fc8a2..a2e1a54edfa5d 100644 --- a/apps/meteor/server/methods/removeUserFromRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/removeUserFromRoom.ts @@ -6,17 +6,17 @@ import { Subscriptions, Rooms, Users, Roles } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync } from '../../app/authorization/server'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnRoomChanged, notifyOnSubscriptionChanged } from '../../app/lib/server/lib/notifyListener'; -import { settings } from '../../app/settings/server'; -import { RoomMemberActions } from '../../definition/IRoomTypeConfig'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { hasRoleAsync } from '../lib/authorization/hasRole'; -import { callbacks } from '../lib/callbacks'; -import { afterRemoveFromRoomCallback } from '../lib/callbacks/afterRemoveFromRoomCallback'; -import { removeUserFromRolesAsync } from '../lib/roles/removeUserFromRoles'; -import { roomCoordinator } from '../lib/rooms/roomCoordinator'; +import { canAccessRoomAsync } from '../../../app/authorization/server'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnRoomChanged, notifyOnSubscriptionChanged } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { RoomMemberActions } from '../../../definition/IRoomTypeConfig'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { hasRoleAsync } from '../../lib/authorization/hasRole'; +import { callbacks } from '../../lib/callbacks'; +import { afterRemoveFromRoomCallback } from '../../lib/callbacks/afterRemoveFromRoomCallback'; +import { removeUserFromRolesAsync } from '../../lib/roles/removeUserFromRoles'; +import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/channel-settings/server/methods/saveRoomSettings.ts b/apps/meteor/server/meteor-methods/rooms/saveRoomSettings.ts similarity index 91% rename from apps/meteor/app/channel-settings/server/methods/saveRoomSettings.ts rename to apps/meteor/server/meteor-methods/rooms/saveRoomSettings.ts index e6dd828940411..9d6657eb38c8c 100644 --- a/apps/meteor/app/channel-settings/server/methods/saveRoomSettings.ts +++ b/apps/meteor/server/meteor-methods/rooms/saveRoomSettings.ts @@ -6,23 +6,23 @@ import { Rooms, Users } from '@rocket.chat/models'; import { Match } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { RoomSettingsEnum } from '../../../../definition/IRoomTypeConfig'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { roomCoordinator } from '../../../../server/lib/rooms/roomCoordinator'; -import { setRoomAvatar } from '../../../../server/lib/rooms/setRoomAvatar'; -import { isABACManagedRoom } from '../../../authorization/server/lib/isABACManagedRoom'; -import { notifyOnRoomChangedById } from '../../../lib/server/lib/notifyListener'; -import { settings } from '../../../settings/server'; -import { saveReactWhenReadOnly } from '../functions/saveReactWhenReadOnly'; -import { saveRoomAnnouncement } from '../functions/saveRoomAnnouncement'; -import { saveRoomCustomFields } from '../functions/saveRoomCustomFields'; -import { saveRoomDescription } from '../functions/saveRoomDescription'; -import { saveRoomEncrypted } from '../functions/saveRoomEncrypted'; -import { saveRoomName } from '../functions/saveRoomName'; -import { saveRoomReadOnly } from '../functions/saveRoomReadOnly'; -import { saveRoomSystemMessages } from '../functions/saveRoomSystemMessages'; -import { saveRoomTopic } from '../functions/saveRoomTopic'; -import { saveRoomType } from '../functions/saveRoomType'; +import { isABACManagedRoom } from '../../../app/authorization/server/lib/isABACManagedRoom'; +import { saveReactWhenReadOnly } from '../../../app/channel-settings/server/functions/saveReactWhenReadOnly'; +import { saveRoomAnnouncement } from '../../../app/channel-settings/server/functions/saveRoomAnnouncement'; +import { saveRoomCustomFields } from '../../../app/channel-settings/server/functions/saveRoomCustomFields'; +import { saveRoomDescription } from '../../../app/channel-settings/server/functions/saveRoomDescription'; +import { saveRoomEncrypted } from '../../../app/channel-settings/server/functions/saveRoomEncrypted'; +import { saveRoomName } from '../../../app/channel-settings/server/functions/saveRoomName'; +import { saveRoomReadOnly } from '../../../app/channel-settings/server/functions/saveRoomReadOnly'; +import { saveRoomSystemMessages } from '../../../app/channel-settings/server/functions/saveRoomSystemMessages'; +import { saveRoomTopic } from '../../../app/channel-settings/server/functions/saveRoomTopic'; +import { saveRoomType } from '../../../app/channel-settings/server/functions/saveRoomType'; +import { notifyOnRoomChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { settings } from '../../../app/settings/server'; +import { RoomSettingsEnum } from '../../../definition/IRoomTypeConfig'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; +import { setRoomAvatar } from '../../lib/rooms/setRoomAvatar'; type RoomSettings = { roomAvatar: string; diff --git a/apps/meteor/server/methods/toggleFavorite.ts b/apps/meteor/server/meteor-methods/rooms/toggleFavorite.ts similarity index 91% rename from apps/meteor/server/methods/toggleFavorite.ts rename to apps/meteor/server/meteor-methods/rooms/toggleFavorite.ts index 4bc676fd22c43..1f0137200b989 100644 --- a/apps/meteor/server/methods/toggleFavorite.ts +++ b/apps/meteor/server/meteor-methods/rooms/toggleFavorite.ts @@ -4,8 +4,8 @@ import { Subscriptions } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedByRoomIdAndUserId } from '../../app/lib/server/lib/notifyListener'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedByRoomIdAndUserId } from '../../../app/lib/server/lib/notifyListener'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/unarchiveRoom.ts b/apps/meteor/server/meteor-methods/rooms/unarchiveRoom.ts similarity index 86% rename from apps/meteor/app/lib/server/methods/unarchiveRoom.ts rename to apps/meteor/server/meteor-methods/rooms/unarchiveRoom.ts index d66b72f0e8fb1..23eebb980b2fd 100644 --- a/apps/meteor/app/lib/server/methods/unarchiveRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/unarchiveRoom.ts @@ -4,9 +4,9 @@ import { Users, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { unarchiveRoom } from '../../../../server/lib/rooms/unarchiveRoom'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { unarchiveRoom } from '../../lib/rooms/unarchiveRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/unmuteUserInRoom.ts b/apps/meteor/server/meteor-methods/rooms/unmuteUserInRoom.ts similarity index 87% rename from apps/meteor/server/methods/unmuteUserInRoom.ts rename to apps/meteor/server/meteor-methods/rooms/unmuteUserInRoom.ts index bc9c20e74a7d9..78c0700bbcf0b 100644 --- a/apps/meteor/server/methods/unmuteUserInRoom.ts +++ b/apps/meteor/server/meteor-methods/rooms/unmuteUserInRoom.ts @@ -3,11 +3,11 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { Rooms, Subscriptions, Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { notifyOnRoomChangedById } from '../../app/lib/server/lib/notifyListener'; -import { RoomMemberActions } from '../../definition/IRoomTypeConfig'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { callbacks } from '../lib/callbacks'; -import { roomCoordinator } from '../lib/rooms/roomCoordinator'; +import { notifyOnRoomChangedById } from '../../../app/lib/server/lib/notifyListener'; +import { RoomMemberActions } from '../../../definition/IRoomTypeConfig'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { callbacks } from '../../lib/callbacks'; +import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/getSetupWizardParameters.ts b/apps/meteor/server/meteor-methods/settings/getSetupWizardParameters.ts similarity index 93% rename from apps/meteor/server/methods/getSetupWizardParameters.ts rename to apps/meteor/server/meteor-methods/settings/getSetupWizardParameters.ts index e204b02514f98..8f8defd34dc00 100644 --- a/apps/meteor/server/methods/getSetupWizardParameters.ts +++ b/apps/meteor/server/meteor-methods/settings/getSetupWizardParameters.ts @@ -3,7 +3,7 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Settings } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { settings } from '../../app/settings/server'; +import { settings } from '../../../app/settings/server'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/saveSetting.ts b/apps/meteor/server/meteor-methods/settings/saveSetting.ts similarity index 82% rename from apps/meteor/app/lib/server/methods/saveSetting.ts rename to apps/meteor/server/meteor-methods/settings/saveSetting.ts index c108080a5d963..d6c8435e12e03 100644 --- a/apps/meteor/app/lib/server/methods/saveSetting.ts +++ b/apps/meteor/server/meteor-methods/settings/saveSetting.ts @@ -4,13 +4,13 @@ import { Settings } from '@rocket.chat/models'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync, hasAllPermissionAsync } from '../../../../server/lib/authorization/hasPermission'; -import { disableCustomScripts } from '../../../../server/lib/shared/disableCustomScripts'; -import { updateAuditedByUser } from '../../../../server/settings/lib/auditedSettingUpdates'; -import { twoFactorRequired } from '../../../2fa/server/twoFactorRequired'; -import { getSettingPermissionId } from '../../../authorization/lib'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; -import { notifyOnSettingChanged } from '../lib/notifyListener'; +import { twoFactorRequired } from '../../../app/2fa/server/twoFactorRequired'; +import { getSettingPermissionId } from '../../../app/authorization/lib'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSettingChanged } from '../../../app/lib/server/lib/notifyListener'; +import { hasPermissionAsync, hasAllPermissionAsync } from '../../lib/authorization/hasPermission'; +import { disableCustomScripts } from '../../lib/shared/disableCustomScripts'; +import { updateAuditedByUser } from '../../settings/lib/auditedSettingUpdates'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/saveSettings.ts b/apps/meteor/server/meteor-methods/settings/saveSettings.ts similarity index 80% rename from apps/meteor/app/lib/server/methods/saveSettings.ts rename to apps/meteor/server/meteor-methods/settings/saveSettings.ts index c01f40481b106..7ff2c054fb66e 100644 --- a/apps/meteor/app/lib/server/methods/saveSettings.ts +++ b/apps/meteor/server/meteor-methods/settings/saveSettings.ts @@ -2,9 +2,9 @@ import type { ISetting } from '@rocket.chat/core-typings'; import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { twoFactorRequired } from '../../../2fa/server/twoFactorRequired'; -import { saveSettingsBulk } from '../functions/saveSettingsBulk'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { twoFactorRequired } from '../../../app/2fa/server/twoFactorRequired'; +import { saveSettingsBulk } from '../../../app/lib/server/functions/saveSettingsBulk'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/sendSMTPTestEmail.ts b/apps/meteor/server/meteor-methods/settings/sendSMTPTestEmail.ts similarity index 92% rename from apps/meteor/app/lib/server/methods/sendSMTPTestEmail.ts rename to apps/meteor/server/meteor-methods/settings/sendSMTPTestEmail.ts index 5a04032ad82ec..cd1a655972059 100644 --- a/apps/meteor/app/lib/server/methods/sendSMTPTestEmail.ts +++ b/apps/meteor/server/meteor-methods/settings/sendSMTPTestEmail.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; -import * as Mailer from '../../../mailer/server/api'; -import { settings } from '../../../settings/server'; +import * as Mailer from '../../../app/mailer/server/api'; +import { settings } from '../../../app/settings/server'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/blockUser.ts b/apps/meteor/server/meteor-methods/users/blockUser.ts similarity index 83% rename from apps/meteor/app/lib/server/methods/blockUser.ts rename to apps/meteor/server/meteor-methods/users/blockUser.ts index b683246033924..cc6c98d9fa026 100644 --- a/apps/meteor/app/lib/server/methods/blockUser.ts +++ b/apps/meteor/server/meteor-methods/users/blockUser.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { blockUserMethod } from '../../../../server/lib/users/blockUser'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { blockUserMethod } from '../../lib/users/blockUser'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/deleteUser.ts b/apps/meteor/server/meteor-methods/users/deleteUser.ts similarity index 89% rename from apps/meteor/server/methods/deleteUser.ts rename to apps/meteor/server/meteor-methods/users/deleteUser.ts index 4f3df3b2a60ac..8763f51e688bf 100644 --- a/apps/meteor/server/methods/deleteUser.ts +++ b/apps/meteor/server/meteor-methods/users/deleteUser.ts @@ -4,9 +4,9 @@ import { Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { deleteUser } from '../lib/users/deleteUser'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { deleteUser } from '../../lib/users/deleteUser'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/deleteUserOwnAccount.ts b/apps/meteor/server/meteor-methods/users/deleteUserOwnAccount.ts similarity index 89% rename from apps/meteor/app/lib/server/methods/deleteUserOwnAccount.ts rename to apps/meteor/server/meteor-methods/users/deleteUserOwnAccount.ts index 26b0625a994bc..6c09a74a14cfa 100644 --- a/apps/meteor/app/lib/server/methods/deleteUserOwnAccount.ts +++ b/apps/meteor/server/meteor-methods/users/deleteUserOwnAccount.ts @@ -6,10 +6,10 @@ import { Accounts } from 'meteor/accounts-base'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { trim } from '../../../../lib/utils/stringUtils'; -import { deleteUser } from '../../../../server/lib/users/deleteUser'; -import { settings } from '../../../settings/server'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import { trim } from '../../../lib/utils/stringUtils'; +import { deleteUser } from '../../lib/users/deleteUser'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/getUsernameSuggestion.ts b/apps/meteor/server/meteor-methods/users/getUsernameSuggestion.ts similarity index 79% rename from apps/meteor/app/lib/server/methods/getUsernameSuggestion.ts rename to apps/meteor/server/meteor-methods/users/getUsernameSuggestion.ts index f22acfacf1b5e..51e39557f9be2 100644 --- a/apps/meteor/app/lib/server/methods/getUsernameSuggestion.ts +++ b/apps/meteor/server/meteor-methods/users/getUsernameSuggestion.ts @@ -1,8 +1,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { generateUsernameSuggestion } from '../../../../server/lib/users/getUsernameSuggestion'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { generateUsernameSuggestion } from '../../lib/users/getUsernameSuggestion'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/getUsersOfRoom.ts b/apps/meteor/server/meteor-methods/users/getUsersOfRoom.ts similarity index 92% rename from apps/meteor/server/methods/getUsersOfRoom.ts rename to apps/meteor/server/meteor-methods/users/getUsersOfRoom.ts index 72e8c15ab75f3..da3304052f02a 100644 --- a/apps/meteor/server/methods/getUsersOfRoom.ts +++ b/apps/meteor/server/meteor-methods/users/getUsersOfRoom.ts @@ -5,9 +5,9 @@ import { Subscriptions, Rooms } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { canAccessRoomAsync, roomAccessAttributes } from '../../app/authorization/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { findUsersOfRoom } from '../lib/findUsersOfRoom'; +import { canAccessRoomAsync, roomAccessAttributes } from '../../../app/authorization/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { findUsersOfRoom } from '../../lib/findUsersOfRoom'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/ignoreUser.ts b/apps/meteor/server/meteor-methods/users/ignoreUser.ts similarity index 90% rename from apps/meteor/server/methods/ignoreUser.ts rename to apps/meteor/server/meteor-methods/users/ignoreUser.ts index caf5ae7f30e45..3cccf4ec574eb 100644 --- a/apps/meteor/server/methods/ignoreUser.ts +++ b/apps/meteor/server/meteor-methods/users/ignoreUser.ts @@ -3,8 +3,8 @@ import { Subscriptions } from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { notifyOnSubscriptionChangedById } from '../../app/lib/server/lib/notifyListener'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { notifyOnSubscriptionChangedById } from '../../../app/lib/server/lib/notifyListener'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/registerUser.ts b/apps/meteor/server/meteor-methods/users/registerUser.ts similarity index 95% rename from apps/meteor/server/methods/registerUser.ts rename to apps/meteor/server/meteor-methods/users/registerUser.ts index 44515f85ed175..81888713ae918 100644 --- a/apps/meteor/server/methods/registerUser.ts +++ b/apps/meteor/server/meteor-methods/users/registerUser.ts @@ -6,10 +6,10 @@ import { Match, check } from 'meteor/check'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; -import { validateInviteToken } from '../../app/invites/server/functions/validateInviteToken'; -import { validateEmailDomain, passwordPolicy, RateLimiter } from '../../app/lib/server'; -import { settings } from '../../app/settings/server'; -import { trim } from '../../lib/utils/stringUtils'; +import { validateInviteToken } from '../../../app/invites/server/functions/validateInviteToken'; +import { validateEmailDomain, passwordPolicy, RateLimiter } from '../../../app/lib/server'; +import { settings } from '../../../app/settings/server'; +import { trim } from '../../../lib/utils/stringUtils'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/resetAvatar.ts b/apps/meteor/server/meteor-methods/users/resetAvatar.ts similarity index 89% rename from apps/meteor/server/methods/resetAvatar.ts rename to apps/meteor/server/meteor-methods/users/resetAvatar.ts index bb2dce631d373..ba9f00e3676c3 100644 --- a/apps/meteor/server/methods/resetAvatar.ts +++ b/apps/meteor/server/meteor-methods/users/resetAvatar.ts @@ -5,9 +5,9 @@ import { Users } from '@rocket.chat/models'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; -import { settings } from '../../app/settings/server'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/saveUserPreferences.ts b/apps/meteor/server/meteor-methods/users/saveUserPreferences.ts similarity index 97% rename from apps/meteor/server/methods/saveUserPreferences.ts rename to apps/meteor/server/meteor-methods/users/saveUserPreferences.ts index af95dd26d765c..2fa11610d89aa 100644 --- a/apps/meteor/server/methods/saveUserPreferences.ts +++ b/apps/meteor/server/meteor-methods/users/saveUserPreferences.ts @@ -5,14 +5,14 @@ import type { FontSize } from '@rocket.chat/rest-typings'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; import { notifyOnSubscriptionChangedByAutoTranslateAndUserId, notifyOnSubscriptionChangedByUserId, notifyOnSubscriptionChangedByUserPreferences, notifyOnUserChange, -} from '../../app/lib/server/lib/notifyListener'; -import { settings as rcSettings } from '../../app/settings/server'; +} from '../../../app/lib/server/lib/notifyListener'; +import { settings as rcSettings } from '../../../app/settings/server'; type UserPreferences = { language: string; diff --git a/apps/meteor/server/methods/saveUserProfile.ts b/apps/meteor/server/meteor-methods/users/saveUserProfile.ts similarity index 88% rename from apps/meteor/server/methods/saveUserProfile.ts rename to apps/meteor/server/meteor-methods/users/saveUserProfile.ts index 16b0074514e06..67d13ec5de1ee 100644 --- a/apps/meteor/server/methods/saveUserProfile.ts +++ b/apps/meteor/server/meteor-methods/users/saveUserProfile.ts @@ -6,19 +6,19 @@ import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import type { UpdateFilter } from 'mongodb'; -import { type AuthenticatedContext, twoFactorRequired } from '../../app/2fa/server/twoFactorRequired'; -import { notifyOnUserChange } from '../../app/lib/server/lib/notifyListener'; -import { passwordPolicy } from '../../app/lib/server/lib/passwordPolicy'; -import { setEmailFunction } from '../../app/lib/server/methods/setEmail'; -import { settings as rcSettings } from '../../app/settings/server'; -import { setUserStatusMethod } from '../../app/user-status/server/methods/setUserStatus'; -import { getUserInfo } from '../api/lib/getUserInfo'; -import { callbacks } from '../lib/callbacks'; -import { compareUserPassword } from '../lib/compareUserPassword'; -import { compareUserPasswordHistory } from '../lib/compareUserPasswordHistory'; -import { saveCustomFields } from '../lib/users/saveCustomFields'; -import { validateUserEditing } from '../lib/users/saveUser'; -import { saveUserIdentity } from '../lib/users/saveUserIdentity'; +import { setEmailFunction } from './setEmail'; +import { type AuthenticatedContext, twoFactorRequired } from '../../../app/2fa/server/twoFactorRequired'; +import { notifyOnUserChange } from '../../../app/lib/server/lib/notifyListener'; +import { passwordPolicy } from '../../../app/lib/server/lib/passwordPolicy'; +import { settings as rcSettings } from '../../../app/settings/server'; +import { setUserStatusMethod } from '../../../app/user-status/server/methods/setUserStatus'; +import { getUserInfo } from '../../api/lib/getUserInfo'; +import { callbacks } from '../../lib/callbacks'; +import { compareUserPassword } from '../../lib/compareUserPassword'; +import { compareUserPasswordHistory } from '../../lib/compareUserPasswordHistory'; +import { saveCustomFields } from '../../lib/users/saveCustomFields'; +import { validateUserEditing } from '../../lib/users/saveUser'; +import { saveUserIdentity } from '../../lib/users/saveUserIdentity'; const MAX_BIO_LENGTH = 260; const MAX_NICKNAME_LENGTH = 120; diff --git a/apps/meteor/server/methods/setAvatarFromService.ts b/apps/meteor/server/meteor-methods/users/setAvatarFromService.ts similarity index 93% rename from apps/meteor/server/methods/setAvatarFromService.ts rename to apps/meteor/server/meteor-methods/users/setAvatarFromService.ts index 171912c11e69b..af422d0b90549 100644 --- a/apps/meteor/server/methods/setAvatarFromService.ts +++ b/apps/meteor/server/meteor-methods/users/setAvatarFromService.ts @@ -3,7 +3,7 @@ import { Match, check } from 'meteor/check'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; -import { setAvatarFromServiceWithValidation } from '../lib/users/setUserAvatar'; +import { setAvatarFromServiceWithValidation } from '../../lib/users/setUserAvatar'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/setEmail.ts b/apps/meteor/server/meteor-methods/users/setEmail.ts similarity index 83% rename from apps/meteor/app/lib/server/methods/setEmail.ts rename to apps/meteor/server/meteor-methods/users/setEmail.ts index 5ea9f5a06a6f8..f8c9a16838670 100644 --- a/apps/meteor/app/lib/server/methods/setEmail.ts +++ b/apps/meteor/server/meteor-methods/users/setEmail.ts @@ -3,10 +3,10 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { setEmail } from '../../../../server/lib/users/setEmail'; -import { settings } from '../../../settings/server'; -import { RateLimiter } from '../lib'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { RateLimiter } from '../../../app/lib/server/lib'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import { setEmail } from '../../lib/users/setEmail'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/setRealName.ts b/apps/meteor/server/meteor-methods/users/setRealName.ts similarity index 79% rename from apps/meteor/app/lib/server/methods/setRealName.ts rename to apps/meteor/server/meteor-methods/users/setRealName.ts index 663e4883b5a6d..db73aacb2c3fe 100644 --- a/apps/meteor/app/lib/server/methods/setRealName.ts +++ b/apps/meteor/server/meteor-methods/users/setRealName.ts @@ -2,10 +2,10 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { setRealName } from '../../../../server/lib/users/setRealName'; -import { settings } from '../../../settings/server'; -import { RateLimiter } from '../lib'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { RateLimiter } from '../../../app/lib/server/lib'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { settings } from '../../../app/settings/server'; +import { setRealName } from '../../lib/users/setRealName'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/setUserActiveStatus.ts b/apps/meteor/server/meteor-methods/users/setUserActiveStatus.ts similarity index 89% rename from apps/meteor/server/methods/setUserActiveStatus.ts rename to apps/meteor/server/meteor-methods/users/setUserActiveStatus.ts index 49771a0e03645..b4a940c78afe0 100644 --- a/apps/meteor/server/methods/setUserActiveStatus.ts +++ b/apps/meteor/server/meteor-methods/users/setUserActiveStatus.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { hasPermissionAsync } from '../lib/authorization/hasPermission'; -import { setUserActiveStatus } from '../lib/users/setUserActiveStatus'; +import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { setUserActiveStatus } from '../../lib/users/setUserActiveStatus'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/app/lib/server/methods/unblockUser.ts b/apps/meteor/server/meteor-methods/users/unblockUser.ts similarity index 82% rename from apps/meteor/app/lib/server/methods/unblockUser.ts rename to apps/meteor/server/meteor-methods/users/unblockUser.ts index 1aec5d056f7a4..59c0b8035c9f8 100644 --- a/apps/meteor/app/lib/server/methods/unblockUser.ts +++ b/apps/meteor/server/meteor-methods/users/unblockUser.ts @@ -2,8 +2,8 @@ import type { ServerMethods } from '@rocket.chat/ddp-client'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; -import { unblockUserMethod } from '../../../../server/lib/users/unblockUser'; -import { methodDeprecationLogger } from '../lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; +import { unblockUserMethod } from '../../lib/users/unblockUser'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/userPresence.ts b/apps/meteor/server/meteor-methods/users/userPresence.ts similarity index 92% rename from apps/meteor/server/methods/userPresence.ts rename to apps/meteor/server/meteor-methods/users/userPresence.ts index 28c5838c06f66..3971529ac5ae4 100644 --- a/apps/meteor/server/methods/userPresence.ts +++ b/apps/meteor/server/meteor-methods/users/userPresence.ts @@ -3,7 +3,7 @@ import { UserStatus } from '@rocket.chat/core-typings'; import type { ServerMethods } from '@rocket.chat/ddp-client'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/userSetUtcOffset.ts b/apps/meteor/server/meteor-methods/users/userSetUtcOffset.ts similarity index 89% rename from apps/meteor/server/methods/userSetUtcOffset.ts rename to apps/meteor/server/meteor-methods/users/userSetUtcOffset.ts index 61357e794156b..e3625443da148 100644 --- a/apps/meteor/server/methods/userSetUtcOffset.ts +++ b/apps/meteor/server/meteor-methods/users/userSetUtcOffset.ts @@ -4,7 +4,7 @@ import { check } from 'meteor/check'; import { DDPRateLimiter } from 'meteor/ddp-rate-limiter'; import { Meteor } from 'meteor/meteor'; -import { methodDeprecationLogger } from '../../app/lib/server/lib/deprecationWarningLogger'; +import { methodDeprecationLogger } from '../../../app/lib/server/lib/deprecationWarningLogger'; declare module '@rocket.chat/ddp-client' { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/meteor/server/methods/index.ts b/apps/meteor/server/methods/index.ts deleted file mode 100644 index 544370864f5e2..0000000000000 --- a/apps/meteor/server/methods/index.ts +++ /dev/null @@ -1,49 +0,0 @@ -import '../../imports/personal-access-tokens/server/api/methods'; - -import './OEmbedCacheCleanup'; -import './addAllUserToRoom'; -import './addRoomLeader'; -import './addRoomModerator'; -import './addRoomOwner'; -import './afterVerifyEmail'; -import './browseChannels'; -import './channelsList'; -import './createDirectMessage'; -import './deleteFileMessage'; -import './deleteUser'; -import './getRoomById'; -import './getRoomIdByNameOrId'; -import './getRoomNameById'; -import './getSetupWizardParameters'; -import './getTotalChannels'; -import './getUsersOfRoom'; -import './hideRoom'; -import './ignoreUser'; -import './loadHistory'; -import './loadLocale'; -import './loadMissedMessages'; -import './loadNextMessages'; -import './loadSurroundingMessages'; -import './logoutCleanUp'; -import './messageSearch'; -import './muteUserInRoom'; -import './openRoom'; -import './readMessages'; -import './readThreads'; -import './registerUser'; -import './removeRoomLeader'; -import './removeRoomModerator'; -import './removeRoomOwner'; -import './removeUserFromRoom'; -import './requestDataDownload'; -import './resetAvatar'; -import './saveUserPreferences'; -import './saveUserProfile'; -import './sendConfirmationEmail'; -import './sendForgotPasswordEmail'; -import './setAvatarFromService'; -import './setUserActiveStatus'; -import './toggleFavorite'; -import './unmuteUserInRoom'; -import './userPresence'; -import './userSetUtcOffset'; diff --git a/apps/meteor/server/modules/core-apps/mention.module.ts b/apps/meteor/server/modules/core-apps/mention.module.ts index a2a2f3c7d2986..4edc4db5dd401 100644 --- a/apps/meteor/server/modules/core-apps/mention.module.ts +++ b/apps/meteor/server/modules/core-apps/mention.module.ts @@ -4,10 +4,10 @@ import type { IMessage, IUser } from '@rocket.chat/core-typings'; import { Subscriptions, Messages } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { addUsersToRoomMethod } from '../../../app/lib/server/methods/addUsersToRoom'; import { i18n } from '../../lib/i18n'; import { processWebhookMessage } from '../../lib/messages/processWebhookMessage'; import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; +import { addUsersToRoomMethod } from '../../meteor-methods/rooms/addUsersToRoom'; const retrieveMentionsFromPayload = (stringifiedMentions: string): Exclude => { try { diff --git a/apps/meteor/server/publications/messages.ts b/apps/meteor/server/publications/messages.ts index bedc9d4aa0913..d5709dcb2ee49 100644 --- a/apps/meteor/server/publications/messages.ts +++ b/apps/meteor/server/publications/messages.ts @@ -5,8 +5,8 @@ import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import type { FindOptions } from 'mongodb'; -import { getChannelHistory } from '../../app/lib/server/methods/getChannelHistory'; import { canAccessRoomIdAsync } from '../lib/authorization/canAccessRoom'; +import { getChannelHistory } from '../meteor-methods/messages/getChannelHistory'; type CursorPaginationType = 'UPDATED' | 'DELETED'; diff --git a/apps/meteor/server/services/media-call/service.ts b/apps/meteor/server/services/media-call/service.ts index 640378ae4ef04..67b813befa9a0 100644 --- a/apps/meteor/server/services/media-call/service.ts +++ b/apps/meteor/server/services/media-call/service.ts @@ -26,7 +26,7 @@ import { sendVoipPushNotification } from './push/sendVoipPushNotification'; import { settings } from '../../../app/settings/server'; import { i18n } from '../../lib/i18n'; import { sendMessage } from '../../lib/messages/sendMessage'; -import { createDirectMessage } from '../../methods/createDirectMessage'; +import { createDirectMessage } from '../../meteor-methods/messages/createDirectMessage'; export class MediaCallService extends ServiceClassInternal implements IMediaCallService { protected name = 'media-call'; diff --git a/apps/meteor/server/services/messages/service.ts b/apps/meteor/server/services/messages/service.ts index 0ad6077ed5115..fa89dd8c9b3e3 100644 --- a/apps/meteor/server/services/messages/service.ts +++ b/apps/meteor/server/services/messages/service.ts @@ -6,9 +6,6 @@ import type { MessageUrl, IMessage, MessageTypesValues, IUser, IRoom, AtLeast } import { Messages, Rooms } from '@rocket.chat/models'; import { OEmbed } from './hooks/AfterSaveOEmbed'; -import { notifyOnRoomChangedById, notifyOnMessageChange } from '../../../app/lib/server/lib/notifyListener'; -import { notifyUsersOnSystemMessage } from '../../../app/lib/server/lib/notifyUsersOnMessage'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { executeSetReaction } from '../../../app/reactions/server/setReaction'; import { settings } from '../../../app/settings/server'; import { getUserAvatarURL } from '../../../app/utils/server/getUserAvatarURL'; @@ -22,12 +19,15 @@ import { BeforeSaveMarkdownParser } from './hooks/BeforeSaveMarkdownParser'; import { mentionServer } from './hooks/BeforeSaveMentions'; import { BeforeSavePreventMention } from './hooks/BeforeSavePreventMention'; import { BeforeSaveSpotify } from './hooks/BeforeSaveSpotify'; +import { notifyOnRoomChangedById, notifyOnMessageChange } from '../../../app/lib/server/lib/notifyListener'; +import { notifyUsersOnSystemMessage } from '../../../app/lib/server/lib/notifyUsersOnMessage'; import { closeUnclosedCodeBlock } from '../../../lib/utils/closeUnclosedCodeBlock'; import { deleteMessage } from '../../lib/messages/deleteMessage'; import { parseUrlsInMessage } from '../../lib/messages/parseUrlsInMessage'; import { sendMessage } from '../../lib/messages/sendMessage'; import { updateMessage } from '../../lib/messages/updateMessage'; import { shouldBreakInVersion } from '../../lib/shouldBreakInVersion'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; const disableMarkdownParser = ['yes', 'true'].includes(String(process.env.DISABLE_MESSAGE_PARSER).toLowerCase()); diff --git a/apps/meteor/server/services/room/service.ts b/apps/meteor/server/services/room/service.ts index 4e560ee93da4c..027bec4c9f66c 100644 --- a/apps/meteor/server/services/room/service.ts +++ b/apps/meteor/server/services/room/service.ts @@ -34,13 +34,13 @@ import { createRoom } from '../../lib/rooms/createRoom'; // TODO remove this imp import { executeUnbanUserFromRoom } from '../../lib/rooms/executeUnbanUserFromRoom'; import { removeUserFromRoom, performUserRemoval } from '../../lib/rooms/removeUserFromRoom'; import { roomCoordinator } from '../../lib/rooms/roomCoordinator'; -import { addRoomLeader } from '../../methods/addRoomLeader'; -import { addRoomModerator } from '../../methods/addRoomModerator'; -import { addRoomOwner } from '../../methods/addRoomOwner'; -import { createDirectMessage } from '../../methods/createDirectMessage'; -import { removeRoomLeader } from '../../methods/removeRoomLeader'; -import { removeRoomModerator } from '../../methods/removeRoomModerator'; -import { removeRoomOwner } from '../../methods/removeRoomOwner'; +import { createDirectMessage } from '../../meteor-methods/messages/createDirectMessage'; +import { addRoomLeader } from '../../meteor-methods/rooms/addRoomLeader'; +import { addRoomModerator } from '../../meteor-methods/rooms/addRoomModerator'; +import { addRoomOwner } from '../../meteor-methods/rooms/addRoomOwner'; +import { removeRoomLeader } from '../../meteor-methods/rooms/removeRoomLeader'; +import { removeRoomModerator } from '../../meteor-methods/rooms/removeRoomModerator'; +import { removeRoomOwner } from '../../meteor-methods/rooms/removeRoomOwner'; export class RoomService extends ServiceClassInternal implements IRoomService { protected name = 'room'; diff --git a/apps/meteor/server/services/upload/service.ts b/apps/meteor/server/services/upload/service.ts index cb0d26f362735..d15019b06b195 100644 --- a/apps/meteor/server/services/upload/service.ts +++ b/apps/meteor/server/services/upload/service.ts @@ -13,13 +13,13 @@ import sharp from 'sharp'; import { FileUpload } from '../../../app/file-upload/server'; import { parseFileIntoMessageAttachments, sendFileMessage } from '../../../app/file-upload/server/methods/sendFileMessage'; -import { sendFileLivechatMessage } from '../../../app/livechat/server/methods/sendFileLivechatMessage'; import { NOTIFICATION_ATTACHMENT_COLOR } from '../../../lib/constants'; import { canAccessRoomIdAsync } from '../../lib/authorization/canAccessRoom'; import { canDeleteMessageAsync } from '../../lib/authorization/canDeleteMessage'; import { i18n } from '../../lib/i18n'; import { updateMessage } from '../../lib/messages/updateMessage'; import { setUserAvatar } from '../../lib/users/setUserAvatar'; +import { sendFileLivechatMessage } from '../../meteor-methods/omnichannel/sendFileLivechatMessage'; import { UploadFS } from '../../ufs'; const logger = new Logger('UploadService'); diff --git a/apps/meteor/server/slashcommands/asciiarts/gimme.ts b/apps/meteor/server/slashcommands/asciiarts/gimme.ts index fb6ac359facdf..6264d534be16a 100644 --- a/apps/meteor/server/slashcommands/asciiarts/gimme.ts +++ b/apps/meteor/server/slashcommands/asciiarts/gimme.ts @@ -1,7 +1,7 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { slashCommands } from '../../../app/utils/server/slashCommand'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; /* * Gimme is a named function that will replace /gimme commands * @param {Object} message - The message object diff --git a/apps/meteor/server/slashcommands/asciiarts/lenny.ts b/apps/meteor/server/slashcommands/asciiarts/lenny.ts index 54854ff631168..7738ae9a74ca1 100644 --- a/apps/meteor/server/slashcommands/asciiarts/lenny.ts +++ b/apps/meteor/server/slashcommands/asciiarts/lenny.ts @@ -1,7 +1,7 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { slashCommands } from '../../../app/utils/server/slashCommand'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; /* * Lenny is a named function that will replace /lenny commands * @param {Object} message - The message object diff --git a/apps/meteor/server/slashcommands/asciiarts/shrug.ts b/apps/meteor/server/slashcommands/asciiarts/shrug.ts index 9621bf5611fba..fe58c1df5aa1a 100644 --- a/apps/meteor/server/slashcommands/asciiarts/shrug.ts +++ b/apps/meteor/server/slashcommands/asciiarts/shrug.ts @@ -1,7 +1,7 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { slashCommands } from '../../../app/utils/server/slashCommand'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; /* * Shrug is a named function that will replace /shrug commands * @param {Object} message - The message object diff --git a/apps/meteor/server/slashcommands/asciiarts/tableflip.ts b/apps/meteor/server/slashcommands/asciiarts/tableflip.ts index 0020feec75eff..3b58e3606c101 100644 --- a/apps/meteor/server/slashcommands/asciiarts/tableflip.ts +++ b/apps/meteor/server/slashcommands/asciiarts/tableflip.ts @@ -1,7 +1,7 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { slashCommands } from '../../../app/utils/server/slashCommand'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; /* * Tableflip is a named function that will replace /Tableflip commands * @param {Object} message - The message object diff --git a/apps/meteor/server/slashcommands/asciiarts/unflip.ts b/apps/meteor/server/slashcommands/asciiarts/unflip.ts index 774274a5ef5a9..f449739eb5ea7 100644 --- a/apps/meteor/server/slashcommands/asciiarts/unflip.ts +++ b/apps/meteor/server/slashcommands/asciiarts/unflip.ts @@ -1,7 +1,7 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { slashCommands } from '../../../app/utils/server/slashCommand'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; /* * Unflip is a named function that will replace /unflip commands * @param {Object} message - The message object diff --git a/apps/meteor/server/slashcommands/ban/ban.ts b/apps/meteor/server/slashcommands/ban/ban.ts index 362796b270830..260ceaba7207d 100644 --- a/apps/meteor/server/slashcommands/ban/ban.ts +++ b/apps/meteor/server/slashcommands/ban/ban.ts @@ -2,11 +2,11 @@ import { api } from '@rocket.chat/core-services'; import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { Users } from '@rocket.chat/models'; -import { sanitizeUsername } from '../../../app/lib/server/methods/addUsersToRoom'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { banUserFromRoomMethod } from '../../lib/banUserFromRoom'; import { i18n } from '../../lib/i18n'; +import { sanitizeUsername } from '../../meteor-methods/rooms/addUsersToRoom'; slashCommands.add({ command: 'ban', diff --git a/apps/meteor/server/slashcommands/ban/unban.ts b/apps/meteor/server/slashcommands/ban/unban.ts index 1c6cd262125d8..f03042fb6965a 100644 --- a/apps/meteor/server/slashcommands/ban/unban.ts +++ b/apps/meteor/server/slashcommands/ban/unban.ts @@ -2,11 +2,11 @@ import { api } from '@rocket.chat/core-services'; import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { Users } from '@rocket.chat/models'; -import { sanitizeUsername } from '../../../app/lib/server/methods/addUsersToRoom'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; import { unbanUserFromRoom } from '../../lib/unbanUserFromRoom'; +import { sanitizeUsername } from '../../meteor-methods/rooms/addUsersToRoom'; slashCommands.add({ command: 'unban', diff --git a/apps/meteor/server/slashcommands/create/server.ts b/apps/meteor/server/slashcommands/create/server.ts index 77565602cd120..90f4e7811e1f8 100644 --- a/apps/meteor/server/slashcommands/create/server.ts +++ b/apps/meteor/server/slashcommands/create/server.ts @@ -2,11 +2,11 @@ import { api } from '@rocket.chat/core-services'; import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { Rooms, Users } from '@rocket.chat/models'; -import { createChannelMethod } from '../../../app/lib/server/methods/createChannel'; -import { createPrivateGroupMethod } from '../../../app/lib/server/methods/createPrivateGroup'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; +import { createChannelMethod } from '../../meteor-methods/rooms/createChannel'; +import { createPrivateGroupMethod } from '../../meteor-methods/rooms/createPrivateGroup'; slashCommands.add({ command: 'create', diff --git a/apps/meteor/server/slashcommands/hide/hide.ts b/apps/meteor/server/slashcommands/hide/hide.ts index 8f1b6b3393543..2211ae4e11f20 100644 --- a/apps/meteor/server/slashcommands/hide/hide.ts +++ b/apps/meteor/server/slashcommands/hide/hide.ts @@ -5,7 +5,7 @@ import { Rooms, Subscriptions, Users } from '@rocket.chat/models'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; -import { hideRoomMethod } from '../../methods/hideRoom'; +import { hideRoomMethod } from '../../meteor-methods/rooms/hideRoom'; /* * Hide is a named function that will replace /hide commands diff --git a/apps/meteor/server/slashcommands/invite/server.ts b/apps/meteor/server/slashcommands/invite/server.ts index b483c527028e9..82dbe8d18c3df 100644 --- a/apps/meteor/server/slashcommands/invite/server.ts +++ b/apps/meteor/server/slashcommands/invite/server.ts @@ -5,10 +5,10 @@ import { validateFederatedUsername } from '@rocket.chat/federation-matrix'; import { Subscriptions, Users, Rooms } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { addUsersToRoomMethod, sanitizeUsername } from '../../../app/lib/server/methods/addUsersToRoom'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; +import { addUsersToRoomMethod, sanitizeUsername } from '../../meteor-methods/rooms/addUsersToRoom'; import { FederationActions } from '../../services/room/hooks/BeforeFederationActions'; // Type guards for the error diff --git a/apps/meteor/server/slashcommands/inviteall/server.ts b/apps/meteor/server/slashcommands/inviteall/server.ts index a478779ec165a..5f4c135dc45f1 100644 --- a/apps/meteor/server/slashcommands/inviteall/server.ts +++ b/apps/meteor/server/slashcommands/inviteall/server.ts @@ -10,12 +10,12 @@ import { isTruthy } from '@rocket.chat/tools'; import { Meteor } from 'meteor/meteor'; import { canAccessRoomAsync } from '../../../app/authorization/server'; -import { addUsersToRoomMethod } from '../../../app/lib/server/methods/addUsersToRoom'; -import { createChannelMethod } from '../../../app/lib/server/methods/createChannel'; -import { createPrivateGroupMethod } from '../../../app/lib/server/methods/createPrivateGroup'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; +import { addUsersToRoomMethod } from '../../meteor-methods/rooms/addUsersToRoom'; +import { createChannelMethod } from '../../meteor-methods/rooms/createChannel'; +import { createPrivateGroupMethod } from '../../meteor-methods/rooms/createPrivateGroup'; function inviteAll(type: T): SlashCommand['callback'] { return async function inviteAll({ command, params, message, userId }: SlashCommandCallbackParams): Promise { diff --git a/apps/meteor/server/slashcommands/kick/server.ts b/apps/meteor/server/slashcommands/kick/server.ts index 9b1098fa61b11..d2e3ca568dc3e 100644 --- a/apps/meteor/server/slashcommands/kick/server.ts +++ b/apps/meteor/server/slashcommands/kick/server.ts @@ -3,11 +3,11 @@ import { api } from '@rocket.chat/core-services'; import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { Users } from '@rocket.chat/models'; -import { sanitizeUsername } from '../../../app/lib/server/methods/addUsersToRoom'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; -import { removeUserFromRoomMethod } from '../../methods/removeUserFromRoom'; +import { sanitizeUsername } from '../../meteor-methods/rooms/addUsersToRoom'; +import { removeUserFromRoomMethod } from '../../meteor-methods/rooms/removeUserFromRoom'; slashCommands.add({ command: 'kick', diff --git a/apps/meteor/server/slashcommands/leave/leave.ts b/apps/meteor/server/slashcommands/leave/leave.ts index 5575a4e4247ee..4131b2fb36af9 100644 --- a/apps/meteor/server/slashcommands/leave/leave.ts +++ b/apps/meteor/server/slashcommands/leave/leave.ts @@ -3,10 +3,10 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { Users } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; -import { leaveRoomMethod } from '../../../app/lib/server/methods/leaveRoom'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; +import { leaveRoomMethod } from '../../meteor-methods/rooms/leaveRoom'; /* * Leave is a named function that will replace /leave commands diff --git a/apps/meteor/server/slashcommands/me/me.ts b/apps/meteor/server/slashcommands/me/me.ts index f976ba2b4e695..ed8102cd19762 100644 --- a/apps/meteor/server/slashcommands/me/me.ts +++ b/apps/meteor/server/slashcommands/me/me.ts @@ -1,7 +1,7 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { slashCommands } from '../../../app/utils/server/slashCommand'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; /* * Me is a named function that will replace /me commands diff --git a/apps/meteor/server/slashcommands/msg/server.ts b/apps/meteor/server/slashcommands/msg/server.ts index 9cdd529f23db7..6266649c8887d 100644 --- a/apps/meteor/server/slashcommands/msg/server.ts +++ b/apps/meteor/server/slashcommands/msg/server.ts @@ -3,11 +3,11 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { Users } from '@rocket.chat/models'; import { Random } from '@rocket.chat/random'; -import { executeSendMessage } from '../../../app/lib/server/methods/sendMessage'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; -import { createDirectMessage } from '../../methods/createDirectMessage'; +import { createDirectMessage } from '../../meteor-methods/messages/createDirectMessage'; +import { executeSendMessage } from '../../meteor-methods/messages/sendMessage'; /* * Msg is a named function that will replace /msg commands diff --git a/apps/meteor/server/slashcommands/mute/mute.ts b/apps/meteor/server/slashcommands/mute/mute.ts index 3274f79e224dc..18cde4f3b1fcd 100644 --- a/apps/meteor/server/slashcommands/mute/mute.ts +++ b/apps/meteor/server/slashcommands/mute/mute.ts @@ -5,7 +5,7 @@ import { Users } from '@rocket.chat/models'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; -import { muteUserInRoom } from '../../methods/muteUserInRoom'; +import { muteUserInRoom } from '../../meteor-methods/rooms/muteUserInRoom'; /* * Mute is a named function that will replace /mute commands diff --git a/apps/meteor/server/slashcommands/mute/unmute.ts b/apps/meteor/server/slashcommands/mute/unmute.ts index e0a5af5d7e4c5..d921be454b368 100644 --- a/apps/meteor/server/slashcommands/mute/unmute.ts +++ b/apps/meteor/server/slashcommands/mute/unmute.ts @@ -5,7 +5,7 @@ import { Users } from '@rocket.chat/models'; import { settings } from '../../../app/settings/server'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { i18n } from '../../lib/i18n'; -import { unmuteUserInRoom } from '../../methods/unmuteUserInRoom'; +import { unmuteUserInRoom } from '../../meteor-methods/rooms/unmuteUserInRoom'; /* * Unmute is a named function that will replace /unmute commands diff --git a/apps/meteor/server/slashcommands/topic/topic.ts b/apps/meteor/server/slashcommands/topic/topic.ts index a32eff767ba58..97c0e9155fc19 100644 --- a/apps/meteor/server/slashcommands/topic/topic.ts +++ b/apps/meteor/server/slashcommands/topic/topic.ts @@ -1,8 +1,8 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; -import { saveRoomSettings } from '../../../app/channel-settings/server/methods/saveRoomSettings'; import { slashCommands } from '../../../app/utils/server/slashCommand'; import { hasPermissionAsync } from '../../lib/authorization/hasPermission'; +import { saveRoomSettings } from '../../meteor-methods/rooms/saveRoomSettings'; slashCommands.add({ command: 'topic', diff --git a/apps/meteor/tests/unit/app/importer/server/roomConverter.spec.ts b/apps/meteor/tests/unit/app/importer/server/roomConverter.spec.ts index 64502ed92a8fc..b6037a7029302 100644 --- a/apps/meteor/tests/unit/app/importer/server/roomConverter.spec.ts +++ b/apps/meteor/tests/unit/app/importer/server/roomConverter.spec.ts @@ -22,19 +22,19 @@ const { RoomConverter } = proxyquire.noCallThru().load('../../../../../app/impor '../../../settings/server': { settings: { get: settingsStub }, }, - '../../../../../server/methods/createDirectMessage': { + '../../../../../server/meteor-methods/messages/createDirectMessage': { createDirectMessage, }, - '../../../../channel-settings/server/methods/saveRoomSettings': { + '../../../../../server/meteor-methods/rooms/saveRoomSettings': { saveRoomSettings, }, '../../../../lib/server/lib/notifyListener': { notifyOnSubscriptionChangedByRoomId: sinon.stub(), }, - '../../../../lib/server/methods/createChannel': { + '../../../../../server/meteor-methods/rooms/createChannel': { createChannelMethod: sinon.stub(), }, - '../../../../lib/server/methods/createPrivateGroup': { + '../../../../../server/meteor-methods/rooms/createPrivateGroup': { createPrivateGroupMethod: sinon.stub(), }, 'meteor/check': sinon.stub(), diff --git a/apps/meteor/tests/unit/server/methods/banUserFromRoom.spec.ts b/apps/meteor/tests/unit/server/lib/banUserFromRoom.spec.ts similarity index 100% rename from apps/meteor/tests/unit/server/methods/banUserFromRoom.spec.ts rename to apps/meteor/tests/unit/server/lib/banUserFromRoom.spec.ts diff --git a/apps/meteor/tests/unit/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.spec.ts b/apps/meteor/tests/unit/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.spec.ts index cf043a05a0d91..b586b21e2822e 100644 --- a/apps/meteor/tests/unit/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.spec.ts +++ b/apps/meteor/tests/unit/server/lib/rooms/getRoomByNameOrIdWithOptionToJoin.spec.ts @@ -77,7 +77,7 @@ const { Room: RoomServiceStub, }, '../../../lib/utils/isObject': isObjectMock, - '../../methods/createDirectMessage': { + '../../meteor-methods/messages/createDirectMessage': { createDirectMessage: createDirectMessageStub, }, 'meteor/meteor': MeteorStub, diff --git a/apps/meteor/tests/unit/app/lib/server/methods/createToken.spec.ts b/apps/meteor/tests/unit/server/meteor-methods/auth/createToken.spec.ts similarity index 98% rename from apps/meteor/tests/unit/app/lib/server/methods/createToken.spec.ts rename to apps/meteor/tests/unit/server/meteor-methods/auth/createToken.spec.ts index c231e0e11f329..c8a5ff80ed83b 100644 --- a/apps/meteor/tests/unit/app/lib/server/methods/createToken.spec.ts +++ b/apps/meteor/tests/unit/server/meteor-methods/auth/createToken.spec.ts @@ -29,7 +29,7 @@ class MeteorErrorMock extends Error { process.env.CREATE_TOKENS_FOR_USERS_SECRET = 'V@9#mK2$pL8!nQ5^rT1&wX6*jY3%uZ7'; -const { generateAccessToken } = p.noCallThru().load('../../../../../../app/lib/server/methods/createToken.ts', { +const { generateAccessToken } = p.noCallThru().load('../../../../../server/meteor-methods/auth/createToken.ts', { '@rocket.chat/core-services': { Authorization: AuthorizationMock, MeteorError: MeteorErrorMock, User: UserMock }, 'meteor/accounts-base': { Accounts: AccountsMock }, }); diff --git a/apps/meteor/tests/unit/server/methods/deleteFileMessage.spec.ts b/apps/meteor/tests/unit/server/meteor-methods/messages/deleteFileMessage.spec.ts similarity index 96% rename from apps/meteor/tests/unit/server/methods/deleteFileMessage.spec.ts rename to apps/meteor/tests/unit/server/meteor-methods/messages/deleteFileMessage.spec.ts index b52d042f3e72d..51c47732a9b38 100644 --- a/apps/meteor/tests/unit/server/methods/deleteFileMessage.spec.ts +++ b/apps/meteor/tests/unit/server/meteor-methods/messages/deleteFileMessage.spec.ts @@ -24,7 +24,7 @@ const modelsMock = { }, }; -p.noCallThru().load('../../../../server/methods/deleteFileMessage', { +p.noCallThru().load('../../../../../server/meteor-methods/messages/deleteFileMessage', { 'meteor/meteor': { Meteor: { userId: meteorUserIdMock, @@ -39,10 +39,10 @@ p.noCallThru().load('../../../../server/methods/deleteFileMessage', { '@rocket.chat/core-services': { Upload: { canDeleteFile: canDeleteFileMock }, }, - '../../app/file-upload/server': { + '../../../app/file-upload/server': { FileUpload: { getStore: fileUploadGetStoreMock }, }, - '../lib/messages/deleteMessage': { + '../../lib/messages/deleteMessage': { deleteMessageValidatingPermission: deleteMessageValidatingPermissionMock, }, }); diff --git a/apps/meteor/tests/unit/app/e2e/server/methods/updateGroupKey.spec.ts b/apps/meteor/tests/unit/server/meteor-methods/platform/updateGroupKey.spec.ts similarity index 92% rename from apps/meteor/tests/unit/app/e2e/server/methods/updateGroupKey.spec.ts rename to apps/meteor/tests/unit/server/meteor-methods/platform/updateGroupKey.spec.ts index 9df3b2ab654d1..0deb4fe9d77a3 100644 --- a/apps/meteor/tests/unit/app/e2e/server/methods/updateGroupKey.spec.ts +++ b/apps/meteor/tests/unit/server/meteor-methods/platform/updateGroupKey.spec.ts @@ -14,13 +14,13 @@ const models = { }, }; -const { updateGroupKey } = proxyquire.noCallThru().load('../../../../../../app/e2e/server/methods/updateGroupKey.ts', { - '../../../lib/server/lib/notifyListener': { +const { updateGroupKey } = proxyquire.noCallThru().load('../../../../../server/meteor-methods/platform/updateGroupKey.ts', { + '../../../app/lib/server/lib/notifyListener': { notifyOnSubscriptionChanged: sinon.stub(), notifyOnRoomChangedById: sinon.stub(), notifyOnSubscriptionChangedById: sinon.stub(), }, - '../../../lib/server/lib/deprecationWarningLogger': { + '../../../app/lib/server/lib/deprecationWarningLogger': { methodDeprecationLogger: { method: sinon.stub(), }, diff --git a/apps/meteor/tests/unit/server/publications/messages.spec.ts b/apps/meteor/tests/unit/server/publications/messages.spec.ts index 8fb9d6f030b97..8e2fe9252717c 100644 --- a/apps/meteor/tests/unit/server/publications/messages.spec.ts +++ b/apps/meteor/tests/unit/server/publications/messages.spec.ts @@ -33,7 +33,7 @@ const { 'meteor/check': { check: sinon.stub(), }, - '../../app/lib/server/methods/getChannelHistory': { + '../meteor-methods/messages/getChannelHistory': { getChannelHistory: sinon.stub(), }, 'meteor/meteor': {