From 14777bde07eeced27d861f934c42b51b4069f857 Mon Sep 17 00:00:00 2001 From: Gabriel Mata Date: Wed, 13 Nov 2024 17:52:02 -0500 Subject: [PATCH 1/2] fix: Fix HttpService injection in WebsocketService constructor to resolve undefined error --- .../server/src/websocket/websocket.gateway.ts | 2 +- packages/server/src/websocket/websocket.module.ts | 2 ++ .../server/src/websocket/websocket.service.ts | 15 ++++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/server/src/websocket/websocket.gateway.ts b/packages/server/src/websocket/websocket.gateway.ts index 65d4da7..72fce23 100644 --- a/packages/server/src/websocket/websocket.gateway.ts +++ b/packages/server/src/websocket/websocket.gateway.ts @@ -68,7 +68,7 @@ export class WebsocketGateway implements OnModuleInit, OnModuleDestroy { result: 'error', id: 1, }) - this.logger.error(`WebSocket server listening on port ${WS_PORT}`) + this.logger.log(`WebSocket server listening on port ${WS_PORT}`) } catch (error) { this.logger.error('Error during WebSocket server initialization', error.stack) throw error diff --git a/packages/server/src/websocket/websocket.module.ts b/packages/server/src/websocket/websocket.module.ts index 2df7b51..4e721fc 100644 --- a/packages/server/src/websocket/websocket.module.ts +++ b/packages/server/src/websocket/websocket.module.ts @@ -5,6 +5,7 @@ import { MongooseModule } from '@nestjs/mongoose' import { StoreQueuedMessageSchema, StoreQueuedMessage } from './schemas/StoreQueuedMessage' import { StoreLiveSessionSchema, StoreLiveSession } from './schemas/StoreLiveSession' import { MessagePersister } from './services/MessagePersister' +import { HttpModule } from '@nestjs/axios' @Module({ imports: [ @@ -12,6 +13,7 @@ import { MessagePersister } from './services/MessagePersister' { name: StoreQueuedMessage.name, schema: StoreQueuedMessageSchema }, { name: StoreLiveSession.name, schema: StoreLiveSessionSchema }, ]), + HttpModule, ], providers: [WebsocketGateway, WebsocketService, MessagePersister], }) diff --git a/packages/server/src/websocket/websocket.service.ts b/packages/server/src/websocket/websocket.service.ts index 79de19b..4ebdb9f 100644 --- a/packages/server/src/websocket/websocket.service.ts +++ b/packages/server/src/websocket/websocket.service.ts @@ -24,7 +24,6 @@ import { JsonRpcResponseSubscriber } from './interfaces/interfaces' @Injectable() export class WebsocketService { private readonly logger: Logger - private readonly httpService: HttpService private readonly redisSubscriber: Redis private readonly redisPublisher: Redis private server: Server @@ -33,6 +32,7 @@ export class WebsocketService { @InjectModel(StoreQueuedMessage.name) private queuedMessage: Model, @InjectRedis() private readonly redis: Redis, private configService: ConfigService, + private readonly httpService: HttpService, ) { this.logger = new Logger(WebsocketService.name) this.redisSubscriber = this.redis.duplicate() @@ -452,6 +452,19 @@ export class WebsocketService { // Retrieves the push notification URL from the configuration service const pushNotificationUrl = this.configService.get('appConfig.pushNotificationUrl') + if (!pushNotificationUrl) { + this.logger?.error('[sendPushNotification] Push notification URL is not defined in appConfig') + return false + } + + this.logger?.debug(`[sendPushNotification] pushNotificationUrl: ${pushNotificationUrl}`) + if (!token || !messageId) { + this.logger?.error('[sendPushNotification] Invalid token or messageId') + return false + } + + this.logger?.debug(`[sendPushNotification] token: ${token} --- messageId: ${messageId}`) + // Sends the push notification via HTTP POST request const response = await lastValueFrom( this.httpService.post(pushNotificationUrl, { From 2c5e5a805a9295fbcaeaa5fdcbc8da9a7f72e9d1 Mon Sep 17 00:00:00 2001 From: Gabriel Mata Date: Wed, 13 Nov 2024 18:26:06 -0500 Subject: [PATCH 2/2] test: Fix websocketTestModule added HttpModule into imports --- packages/server/test/WebsocketTestModule.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/server/test/WebsocketTestModule.ts b/packages/server/test/WebsocketTestModule.ts index 61cea78..ad999ab 100644 --- a/packages/server/test/WebsocketTestModule.ts +++ b/packages/server/test/WebsocketTestModule.ts @@ -4,6 +4,7 @@ import { WebsocketGateway } from '../src/websocket/websocket.gateway' import { MongooseModule } from '@nestjs/mongoose' import { StoreQueuedMessageSchema, StoreQueuedMessage } from '../src/websocket/schemas/StoreQueuedMessage' import { StoreLiveSessionSchema, StoreLiveSession } from '../src/websocket/schemas/StoreLiveSession' +import { HttpModule } from '@nestjs/axios' @Module({ imports: [ @@ -11,6 +12,7 @@ import { StoreLiveSessionSchema, StoreLiveSession } from '../src/websocket/schem { name: StoreQueuedMessage.name, schema: StoreQueuedMessageSchema }, { name: StoreLiveSession.name, schema: StoreLiveSessionSchema }, ]), + HttpModule, ], providers: [WebsocketGateway, WebsocketService], })