diff --git a/app/package-lock.json b/app/package-lock.json index 001b2e9..977846b 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -33,6 +33,7 @@ "eslint-plugin-prettier": "^5.0.0", "jest": "^29.5.0", "prettier": "^3.0.0", + "socket.io": "^4.8.1", "source-map-support": "^0.5.21", "supertest": "^7.0.0", "ts-jest": "^29.1.0", @@ -1725,6 +1726,24 @@ "rxjs": "^7.1.0" } }, + "node_modules/@nestjs/platform-socket.io/node_modules/socket.io": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", + "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, "node_modules/@nestjs/schematics": { "version": "10.2.3", "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-10.2.3.tgz", @@ -8008,9 +8027,10 @@ } }, "node_modules/socket.io": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", - "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "dev": true, "license": "MIT", "dependencies": { "accepts": "~1.3.4", diff --git a/app/package.json b/app/package.json index c4cc9fd..301fa1c 100644 --- a/app/package.json +++ b/app/package.json @@ -43,6 +43,7 @@ "eslint-plugin-prettier": "^5.0.0", "jest": "^29.5.0", "prettier": "^3.0.0", + "socket.io": "^4.8.1", "source-map-support": "^0.5.21", "supertest": "^7.0.0", "ts-jest": "^29.1.0", diff --git a/app/src/app.service.ts b/app/src/app.service.ts index 8b6f51f..27f39d1 100644 --- a/app/src/app.service.ts +++ b/app/src/app.service.ts @@ -1,17 +1,22 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageBody, SubscribeMessage, WebSocketGateway } from '@nestjs/websockets'; +import { ConnectedSocket, MessageBody, OnGatewayConnection, SubscribeMessage, WebSocketGateway } from '@nestjs/websockets'; import { PlayerService } from './players/player.service'; +import { Socket } from 'socket.io' @WebSocketGateway({ cors: true }) @Injectable() -export class AppService { +export class AppService implements OnGatewayConnection { private readonly logger = new Logger(AppService.name); constructor(private readonly playerService: PlayerService) {} + handleConnection(client:Socket) { + this.logger.log(client.id); + } @SubscribeMessage('example-request') - handleCustomEvent(@MessageBody() data: string): unknown { + handleCustomEvent(@ConnectedSocket() client:Socket,@MessageBody() data: string): unknown { this.logger.debug(`Received request in backend with data: ${data}`); + this.logger.debug(`Received data id from client: ${client.id}`); return {event: "example-response", data: `Replying from backend, received data: ${data}`}; } } diff --git a/interface/package-lock.json b/interface/package-lock.json index 23ae191..b49dd7e 100644 --- a/interface/package-lock.json +++ b/interface/package-lock.json @@ -1,11 +1,11 @@ { - "name": "common_logic", + "name": "interface", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "common_logic", + "name": "interface", "version": "1.0.0", "license": "ISC", "devDependencies": {