moving gateway logic in service

This commit is contained in:
simplonco
2023-01-10 15:36:41 +01:00
parent 1594ab6f05
commit 239b16bfa8
2 changed files with 39 additions and 23 deletions

View File

@@ -45,9 +45,7 @@ export class ChatGateway
async changeRoom(@ConnectedSocket() socket: socketDto, @MessageBody() room_name: string): Promise<void>
{
console.log('- in changeRoom gateway');
socket.leave(socket.room);
socket.join(room_name);
socket.room = room_name;
await this.chatService.socketChangeRoom(socket, room_name);
console.log('- out changeRoom gateway');
}
@@ -56,9 +54,7 @@ export class ChatGateway
async handleMessage(@ConnectedSocket() socket: socketDto, @MessageBody() message: string): Promise<void>
{
console.log('- in handleMessage gateway');
socket.to(socket.room).emit('message', socket.username, message);
let room_name = await this.chatService.getCurrentRoomName(socket.username);
await this.chatService.addMessageToRoom(room_name, socket.username, message);
await this.chatService.socketIncommingMessage(socket, message);
console.log('- out handleMessage gateway');
}

View File

@@ -7,6 +7,7 @@ import { InjectRepository } from '@nestjs/typeorm';
import { createRoomDto } from './dto/createRoom.dto';
import { joinRoomDto } from './dto/joinRoom.dto';
import { messagesDto } from './dto/messages.dto';
import { socketDto } from './dto/socket.dto';
@Injectable()
export class ChatService {
@@ -230,24 +231,43 @@ export class ChatService {
/* GATEWAY EVENTS *****************************************
async handleMessage()
{
console.log("-- in getUserByName service");
// socket.to(socket.room).emit('message', socket.username, message);
// let room_name = await this.chatService.getCurrentRoomName(socket.username);
// await this.chatService.addMessageToRoom(room_name, socket.username, message);
const user = await this.userRepository
.createQueryBuilder('user')
.where('user.username = :name', { name: username })
.getOne();
console.log("-- out getUserByName service");
return user;
}
*/
async socketIncommingMessage(socket: socketDto, message: string): Promise<void>
{
console.log("-- in handleSocketIncommingMessage service");
socket.to(socket.room).emit('message', socket.username, message);
let room_name = await this.getCurrentRoomName(socket.username);
await this.addMessageToRoom(room_name, socket.username, message);
console.log("-- out handleSocketIncommingMessage service");
}
async socketChangeRoom(socket: socketDto, room_name: string): Promise<void>
{
console.log('-- in socketChangeRoom service');
socket.leave(socket.room);
socket.join(room_name);
socket.room = room_name;
console.log('-- out socketChangeRoom service');
}
async socketJoinRoom(socket: socketDto, room_name: string): Promise<void>
{
console.log('- in socketJoinRoom service');
socket.leave(socket.room);
socket.join(room_name);
socket.room = room_name;
let message = `${socket.username} has join the room`;
await socket.to(socket.room).emit('message', "SERVER", message);
await this.addMessageToRoom(room_name, "SERVER", message);
console.log('- out socketJoinRoom service');
}
}