From a544f1e1ae723a754978d6faa43c95f58f9667fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A4=EC=A4=80=EC=88=98?= <99115509+hoheesu@users.noreply.github.com> Date: Wed, 15 Jan 2025 17:30:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20getGameRoom=20=EA=B2=8C=EC=9E=84?= =?UTF-8?q?=EB=B0=A9=20=EC=A0=95=EB=B3=B4=20=EC=A1=B0=ED=9A=8C=EC=8B=9C=20?= =?UTF-8?q?=EC=9C=A0=EC=A0=80=20=EB=8B=89=EB=84=A4=EC=9E=84=EB=8F=84=20ret?= =?UTF-8?q?urun?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src.zip | Bin 0 -> 33278 bytes src/gameRoom/dto/gameRoomUser.dto.ts | 2 +- src/gameRoom/gameRoom.controller.ts | 1 + src/gameRoom/gameRoom.module.ts | 2 ++ src/gameRoom/gameRoom.service.ts | 14 +++++++++++++- 5 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 src.zip diff --git a/src.zip b/src.zip new file mode 100644 index 0000000000000000000000000000000000000000..3d5ea51bc82d2ae0b384b9251a96256dd7807d78 GIT binary patch literal 33278 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 M9Rh;b2Ked!0O#!hrvLx| literal 0 HcmV?d00001 diff --git a/src/gameRoom/dto/gameRoomUser.dto.ts b/src/gameRoom/dto/gameRoomUser.dto.ts index cfb8f60..0ae753c 100644 --- a/src/gameRoom/dto/gameRoomUser.dto.ts +++ b/src/gameRoom/dto/gameRoomUser.dto.ts @@ -1,6 +1,6 @@ // dto/gameRoomUser.dto.ts import { ApiProperty } from '@nestjs/swagger'; -import { IsNumber, IsDate } from 'class-validator'; +import { IsNumber, IsDate, IsString } from 'class-validator'; export class GameRoomUserDto { @ApiProperty({ example: 1, description: 'GameRoomUser 테이블 PK' }) diff --git a/src/gameRoom/gameRoom.controller.ts b/src/gameRoom/gameRoom.controller.ts index e258297..009d2b3 100644 --- a/src/gameRoom/gameRoom.controller.ts +++ b/src/gameRoom/gameRoom.controller.ts @@ -85,6 +85,7 @@ export class GameRoomController { async createRoom(@Body() body: CreateGameRoomDto, @Req() req: any) { try { const userId = req.user.userId; // JWT에서 추출한 userId + return await this.gameRoomService.createRoom(body.roomName, userId); } catch (error) { throw new BadRequestException(error.message); diff --git a/src/gameRoom/gameRoom.module.ts b/src/gameRoom/gameRoom.module.ts index 516917d..4c00b4d 100644 --- a/src/gameRoom/gameRoom.module.ts +++ b/src/gameRoom/gameRoom.module.ts @@ -5,11 +5,13 @@ import { GameRoomService } from './gameRoom.service'; import { GameRoom } from './entities/gameRoom.entity'; import { GameRoomUser } from './entities/gameRoomUser.entity'; import { RedisModule } from 'src/redis/redis.module'; // RedisModule 추가 +import { UserModule } from 'src/user/user.module'; @Module({ imports: [ TypeOrmModule.forFeature([GameRoom, GameRoomUser]), RedisModule, // RedisModule 가져오기 + UserModule, ], controllers: [GameRoomController], providers: [GameRoomService], diff --git a/src/gameRoom/gameRoom.service.ts b/src/gameRoom/gameRoom.service.ts index 5c83eb6..a3ffe69 100644 --- a/src/gameRoom/gameRoom.service.ts +++ b/src/gameRoom/gameRoom.service.ts @@ -7,6 +7,7 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { GameRoom } from './entities/gameRoom.entity'; import { GameRoomUser } from './entities/gameRoomUser.entity'; +import { UserService } from 'src/user/user.service'; @Injectable() export class GameRoomService { @@ -15,6 +16,7 @@ export class GameRoomService { private readonly gameRoomRepository: Repository, @InjectRepository(GameRoomUser) private readonly gameRoomUserRepository: Repository, + private readonly userService: UserService, ) {} // ───────────────────────────────────────── @@ -176,13 +178,23 @@ export class GameRoomService { // DB에서 인원 목록 조회 const users = await this.gameRoomUserRepository.find({ where: { roomId } }); + console.log(users); + const usersWithNicknames = await Promise.all( + users.map(async (user) => { + const userData = await this.userService.findUserById(user.userId); + return { + ...user, + userNickname: userData.userNickname, + }; + }), + ); // (선택) 혹시 최신 인원수를 다시 덮어씌우고 싶다면: // const count = await this.gameRoomUserRepository.count({ where: { roomId } }); // room.currentCount = count; // await this.gameRoomRepository.save(room); - return { room, users }; + return { room, users: usersWithNicknames }; } // ───────────────────────────────────────── From a965f853e9f678c6095ac3703fc3cbc1688e7c17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A4=EC=A4=80=EC=88=98?= <99115509+hoheesu@users.noreply.github.com> Date: Wed, 15 Jan 2025 19:40:57 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=EA=B2=8C=EC=9E=84=EB=B0=A9=20?= =?UTF-8?q?=EC=86=8C=EC=BC=93=20disconnect=20=EC=83=81=ED=99=A9=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EA=B2=8C=EC=9E=84=EB=B0=A9=20=EB=82=98=EA=B0=80?= =?UTF-8?q?=EC=A7=80=EB=8A=94=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/game/game.gateway.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/game/game.gateway.ts b/src/game/game.gateway.ts index bc75d50..16829f8 100644 --- a/src/game/game.gateway.ts +++ b/src/game/game.gateway.ts @@ -62,13 +62,13 @@ export class GameGateway ); const userNickname = await this.gameService.getUserNickname(userId); - if (roomId) { - await this.gameRoomService.leaveRoom(roomId, userId); - this.server.to(roomId.toString()).emit('message', { - sender: 'System', - message: `${userNickname} 유저가 퇴장했습니다.`, - }); - } + // if (roomId) { + // await this.gameRoomService.leaveRoom(roomId, userId); + // this.server.to(roomId.toString()).emit('message', { + // sender: 'System', + // message: `${userNickname} 유저가 퇴장했습니다.`, + // }); + // } } // ─────────────────────────────────────────