(player2UserId: string)
| 108 | this.resetMoveTimer(); |
| 109 | } |
| 110 | async updateSecondPlayer(player2UserId: string) { |
| 111 | this.player2UserId = player2UserId; |
| 112 | |
| 113 | const users = await db.user.findMany({ |
| 114 | where: { |
| 115 | id: { |
| 116 | in: [this.player1UserId, this.player2UserId ?? ''], |
| 117 | }, |
| 118 | }, |
| 119 | }); |
| 120 | |
| 121 | try { |
| 122 | await this.createGameInDb(); |
| 123 | } catch (e) { |
| 124 | console.error(e); |
| 125 | return; |
| 126 | } |
| 127 | |
| 128 | const WhitePlayer = users.find((user) => user.id === this.player1UserId); |
| 129 | const BlackPlayer = users.find((user) => user.id === this.player2UserId); |
| 130 | |
| 131 | socketManager.broadcast( |
| 132 | this.gameId, |
| 133 | JSON.stringify({ |
| 134 | type: INIT_GAME, |
| 135 | payload: { |
| 136 | gameId: this.gameId, |
| 137 | whitePlayer: { |
| 138 | name: WhitePlayer?.name, |
| 139 | id: this.player1UserId, |
| 140 | isGuest: WhitePlayer?.provider === AuthProvider.GUEST, |
| 141 | }, |
| 142 | blackPlayer: { |
| 143 | name: BlackPlayer?.name, |
| 144 | id: this.player2UserId, |
| 145 | isGuest: BlackPlayer?.provider === AuthProvider.GUEST, |
| 146 | }, |
| 147 | fen: this.board.fen(), |
| 148 | moves: [], |
| 149 | }, |
| 150 | }), |
| 151 | ); |
| 152 | } |
| 153 | |
| 154 | async createGameInDb() { |
| 155 | this.startTime = new Date(Date.now()); |
no test coverage detected