import { Injectable } from '@nestjs/common'; import { Partida, PartidasService } from 'src/shared/partidas.service'; import { UsuariosService } from 'src/shared/usuarios.service'; @Injectable() export class SalaChatService { constructor( private readonly usuariosService: UsuariosService, private readonly partidasService: PartidasService, ) {} get listaUsuariosSinPartidas() { return Array.from(this.usuariosService.usuarios.values()).map( ({ uuid, nickname, conectado }) => ({ uuid, nickname, conectado, }), ); } get partidasAbiertas(){ return this.partidasService.partidasAbiertas; } getUsuarioUUID(uuid: string) { return this.usuariosService.getUsuarioByUUID(uuid); } conectaUsuarioUUID(uuid: string) { const user = this.usuariosService.getUsuarioByUUID(uuid); if (user) { user.conectado = true; return { uuid: user.uuid, nickname: user.nickname, conectado: user.conectado, }; } else { return undefined; } } desconectaUsuarioUUID(uuid: string) { const user = this.usuariosService.getUsuarioByUUID(uuid); if (user) { user.conectado = false; return { uuid: user.uuid, nickname: user.nickname, conectado: user.conectado, }; } else { return undefined; } } creaPartida(uuidJugadorCreador: string) { const partida = this.partidasService.creaPartida(uuidJugadorCreador); return partida; } }