From e17c7b899cf4bf0d655fd5bd4362080e62d1c03e Mon Sep 17 00:00:00 2001 From: AmirHossein Mahmoodi Date: Tue, 27 May 2025 10:45:50 +0330 Subject: [PATCH] bug fixed --- package-lock.json | 11 +++++++++++ package.json | 1 + src/redis/redis.service.ts | 4 ++-- src/socket/socket.gateway.ts | 4 ++-- src/socket/socket.service.ts | 4 ++-- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index c4f8f2f..9d61a05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,6 +34,7 @@ "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", + "@types/redis": "^4.0.11", "@types/supertest": "^6.0.0", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", @@ -2272,6 +2273,16 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", "dev": true }, + "node_modules/@types/redis": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/@types/redis/-/redis-4.0.11.tgz", + "integrity": "sha512-bI+gth8La8Wg/QCR1+V1fhrL9+LZUSWfcqpOj2Kc80ZQ4ffbdL173vQd5wovmoV9i071FU9oP2g6etLuEwb6Rg==", + "deprecated": "This is a stub types definition. redis provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "redis": "*" + } + }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", diff --git a/package.json b/package.json index 9cb47ab..15442ad 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", + "@types/redis": "^4.0.11", "@types/supertest": "^6.0.0", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", diff --git a/src/redis/redis.service.ts b/src/redis/redis.service.ts index 5365662..e30d4c7 100644 --- a/src/redis/redis.service.ts +++ b/src/redis/redis.service.ts @@ -1,9 +1,9 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; -import { createClient } from 'redis'; +import { createClient, RedisClientType } from 'redis'; @Injectable() export class RedisService implements OnModuleInit { - private client; + private client: RedisClientType; async onModuleInit() { this.client = createClient({ diff --git a/src/socket/socket.gateway.ts b/src/socket/socket.gateway.ts index ce9994f..90d226d 100644 --- a/src/socket/socket.gateway.ts +++ b/src/socket/socket.gateway.ts @@ -34,7 +34,7 @@ export class SocketGateway implements OnGatewayConnection { await this.socketService.clientConnection({ user_id: token.user_id, - telephone_id: token.telephone_id, + telephone_id: String(token.telephone_id), socket_id: client.id, event: 'connected', }); @@ -46,7 +46,7 @@ export class SocketGateway implements OnGatewayConnection { client.on('disconnect', async (reason) => { await this.socketService.clientConnection({ user_id: token.user_id, - telephone_id: token.telephone_id, + telephone_id: String(token.telephone_id), socket_id: client.id, event: 'disconnected', description: reason, diff --git a/src/socket/socket.service.ts b/src/socket/socket.service.ts index 7d1d307..0b93d40 100644 --- a/src/socket/socket.service.ts +++ b/src/socket/socket.service.ts @@ -10,7 +10,7 @@ import { RedisService } from 'src/redis/redis.service'; export interface ClientToken { user_id: number; - telephone_id: string; + telephone_id: number; } @Injectable() @@ -110,7 +110,7 @@ export class SocketService { async getAllOnlineClients(): Promise { const client = this.redisService.getClient(); const keys = await client.keys('online_clients:*'); - return keys.map((key) => { + return keys.map((key: string) => { const [user_id, telephone_id] = key.split(':')[1].split('-').map(Number); return { user_id, telephone_id }; });