From c27de6f4f0d1f64f9bf5e9735116e92c6ff59a9b Mon Sep 17 00:00:00 2001 From: Marklogo Date: Thu, 4 Apr 2024 02:02:37 +0200 Subject: [PATCH] refactorizaciones --- public/js/salaespera.js | 9 ++++----- src/interfaces/resp.ts | 19 +++++++++++++++++++ src/sala-chat/sala-chat.gateway.ts | 8 +++++--- src/sala-chat/sala-chat.service.ts | 1 - src/shared/usuarios.service.ts | 10 ---------- 5 files changed, 28 insertions(+), 19 deletions(-) create mode 100644 src/interfaces/resp.ts diff --git a/public/js/salaespera.js b/public/js/salaespera.js index 8dab605..7f205b3 100644 --- a/public/js/salaespera.js +++ b/public/js/salaespera.js @@ -97,11 +97,10 @@ const actualizaUsuarios = (usuario) => { ? agregaMsgBroadcast(`${usuario.nickname} se ha conectado`) : agregaMsgBroadcast(`${usuario.nickname} se ha desconectado`); }; -const agregarPartida = (partida) =>{ +const agregarPartida = (partida) => { listaPartidas.agregarPartida(partida); listarPartidasAbiertas(); -} - +}; // Cerrar sesión const cerrarSesion = (reason) => { @@ -115,7 +114,7 @@ function enviarMensaje(event) { if (event.key === 'Enter') { const mensaje = event.target.value.trim(); if (mensaje != '') { - socket.emit('chatMsg', mensaje); + socket.emit('chatMsg', mensaje, agregaMsg); } event.target.value = ''; } @@ -128,7 +127,7 @@ function crearPartida() { socket.on('onConnectRoom', entraSala); socket.on('onUserConnectRoom', actualizaUsuarios); socket.on('chatMsg', agregaMsg); -socket.on('onCrearPartida',agregarPartida); +socket.on('onCrearPartida', agregarPartida); socket.on('onUserDisconnectRoom', actualizaUsuarios); socket.on('disconnect', cerrarSesion); diff --git a/src/interfaces/resp.ts b/src/interfaces/resp.ts new file mode 100644 index 0000000..8fe0be7 --- /dev/null +++ b/src/interfaces/resp.ts @@ -0,0 +1,19 @@ +export class Resp { + constructor({ + status = 200, + msg = '', + data, + }: { + status?: number; + msg?: string; + data: T; + }) { + this.status = status; + this.msg = msg; + this.data = data; + } + + status?: number; + msg?: string; + data: T; +} diff --git a/src/sala-chat/sala-chat.gateway.ts b/src/sala-chat/sala-chat.gateway.ts index edc4a25..68098e9 100644 --- a/src/sala-chat/sala-chat.gateway.ts +++ b/src/sala-chat/sala-chat.gateway.ts @@ -7,6 +7,7 @@ import { } from '@nestjs/websockets'; import { SalaChatService } from './sala-chat.service'; import { Server, Socket } from 'socket.io'; +import { Resp } from 'src/interfaces/resp'; @WebSocketGateway({ namespace: 'salachat' }) export class SalaChatGateway @@ -43,13 +44,14 @@ export class SalaChatGateway } client.leave('chat_general'); } - + @SubscribeMessage('chatMsg') handleMsg(client: Socket, msg: string) { const userId = client.handshake.auth.userId; const user = this.salaChatService.getUsuarioUUID(userId); - if (user) { - this.server.to('chat_general').emit('chatMsg', { uuid: userId, msg }); + if (user) { + client.broadcast.to('chat_general').emit('chatMsg',{ uuid: userId, msg }); + return { uuid: userId, msg }; } else { client.disconnect(); } diff --git a/src/sala-chat/sala-chat.service.ts b/src/sala-chat/sala-chat.service.ts index a41bf08..2cb4108 100644 --- a/src/sala-chat/sala-chat.service.ts +++ b/src/sala-chat/sala-chat.service.ts @@ -57,7 +57,6 @@ export class SalaChatService { creaPartida(uuidJugadorCreador: string) { const partida = this.partidasService.creaPartida(uuidJugadorCreador); - this.usuariosService.addPartidaToUsuario(uuidJugadorCreador, partida); return partida; } } diff --git a/src/shared/usuarios.service.ts b/src/shared/usuarios.service.ts index 3ef7a1f..52d8cc9 100644 --- a/src/shared/usuarios.service.ts +++ b/src/shared/usuarios.service.ts @@ -1,9 +1,7 @@ import { v4 as uuidv4 } from 'uuid'; import { Injectable, Scope } from '@nestjs/common'; -import { Partida } from './partidas.service'; class Usuario { - partidas: Partida[] = []; constructor( public uuid: string, public nickname: string, @@ -38,12 +36,4 @@ export class UsuariosService { } return undefined; } - - addPartidaToUsuario(uuid: string, partida: Partida) { - this._usuarios.get(uuid).partidas.push(partida); - } - - getPartidasUsuario(uuid: string) { - return this._usuarios.get(uuid).partidas; - } }