diff --git a/frontend/ee b/frontend/ee index 0483976124..df736e11aa 160000 --- a/frontend/ee +++ b/frontend/ee @@ -1 +1 @@ -Subproject commit 04839761243719f881c4a9ebbb052fc09ab6b967 +Subproject commit df736e11aa0246e704ec7433cc2025d10fdad0f3 diff --git a/server/ee b/server/ee index 2cd39bdde4..e62dbb822d 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 2cd39bdde430a78b4d6ebcd119d02a6fda924739 +Subproject commit e62dbb822ddbe86e35f2405edbf830711632cf7b diff --git a/server/src/events/events.module.ts b/server/src/events/events.module.ts deleted file mode 100644 index 288df778ca..0000000000 --- a/server/src/events/events.module.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Module } from '@nestjs/common'; -import { EventsGateway } from './events.gateway'; -import { YjsGateway } from './yjs.gateway'; -import { SessionModule } from '@modules/session/module'; - -const providers = []; - -providers.unshift(YjsGateway); -if (process.env.COMMENT_FEATURE_ENABLE !== 'false') { - providers.unshift(EventsGateway); -} - -@Module({ - imports: [SessionModule], - providers, -}) -export class EventsModule {} diff --git a/server/src/modules/app/module.ts b/server/src/modules/app/module.ts index c0ca97e4be..172a55a22a 100644 --- a/server/src/modules/app/module.ts +++ b/server/src/modules/app/module.ts @@ -41,6 +41,7 @@ import { TooljetDbModule } from '@modules/tooljet-db/module'; import { WorkflowsModule } from '@modules/workflows/module'; import { AiModule } from '@modules/ai/module'; import { CustomStylesModule } from '@modules/custom-styles/module'; +import { EventsModule } from '@modules/events/module'; export class AppModule implements OnModuleInit { static async register(configs: { IS_GET_CONTEXT: boolean }): Promise { @@ -94,6 +95,7 @@ export class AppModule implements OnModuleInit { await WorkflowsModule.register(configs), await AiModule.register(configs), await CustomStylesModule.register(configs), + await EventsModule.register(configs), ]; return { diff --git a/server/src/events/events.gateway.ts b/server/src/modules/events/events.gateway.ts similarity index 95% rename from server/src/events/events.gateway.ts rename to server/src/modules/events/events.gateway.ts index 70903494e2..fa9cfb162b 100644 --- a/server/src/events/events.gateway.ts +++ b/server/src/modules/events/events.gateway.ts @@ -8,7 +8,7 @@ import { } from '@nestjs/websockets'; import { Server } from 'ws'; import { isEmpty } from 'lodash'; -import { maybeSetSubPath } from '../helpers/utils.helper'; +import { maybeSetSubPath } from '../../helpers/utils.helper'; import { SessionUtilService } from '@modules/session/util.service'; @WebSocketGateway({ path: maybeSetSubPath('/ws') }) diff --git a/server/src/modules/events/module.ts b/server/src/modules/events/module.ts new file mode 100644 index 0000000000..f4d65f82f1 --- /dev/null +++ b/server/src/modules/events/module.ts @@ -0,0 +1,24 @@ +import { DynamicModule } from '@nestjs/common'; +import { SessionModule } from '@modules/session/module'; +import { getImportPath } from '@modules/app/constants'; + +export class EventsModule { + static async register(configs?: { IS_GET_CONTEXT: boolean }): Promise { + const providers = []; + + const importPath = await getImportPath(configs?.IS_GET_CONTEXT); + const { EventsGateway } = await import(`${importPath}/events/events.gateway`); + const { YjsGateway } = await import(`${importPath}/events/yjs.gateway`); + + providers.unshift(YjsGateway); + if (process.env.COMMENT_FEATURE_ENABLE !== 'false') { + providers.unshift(EventsGateway); + } + + return { + module: EventsModule, + imports: [await SessionModule.register(configs)], + providers, + }; + } +} diff --git a/server/src/events/yjs.gateway.ts b/server/src/modules/events/yjs.gateway.ts similarity index 96% rename from server/src/events/yjs.gateway.ts rename to server/src/modules/events/yjs.gateway.ts index 7688a0a3e2..d25efd78e0 100644 --- a/server/src/events/yjs.gateway.ts +++ b/server/src/modules/events/yjs.gateway.ts @@ -2,8 +2,8 @@ import http from 'http'; import { WebSocketGateway, WebSocketServer, OnGatewayConnection, OnGatewayDisconnect } from '@nestjs/websockets'; import { Server } from 'ws'; import { setupWSConnection, setPersistence } from 'y-websocket/bin/utils'; -import { RedisPubSub } from '../helpers/redis'; -import { maybeSetSubPath } from '../helpers/utils.helper'; +import { RedisPubSub } from '../../helpers/redis'; +import { maybeSetSubPath } from '../../helpers/utils.helper'; import { isEmpty } from 'lodash'; import { SessionUtilService } from '@modules/session/util.service';