moving gateway logic in service
This commit is contained in:
@@ -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');
|
||||
}
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user