MCPcopy Create free account
hub / github.com/code100x/chess / updateSecondPlayer

Method updateSecondPlayer

apps/ws/src/Game.ts:110–152  ·  view source on GitHub ↗
(player2UserId: string)

Source from the content-addressed store, hash-verified

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());

Callers 1

addHandlerMethod · 0.95

Calls 2

createGameInDbMethod · 0.95
broadcastMethod · 0.80

Tested by

no test coverage detected