From 7059c6e6e34b2c2ff69e27253e8913f9d752ee20 Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Tue, 20 Oct 2020 08:20:21 +0200 Subject: [PATCH] Refactor message --- back/src/Controller/IoSocketController.ts | 7 +++++++ back/src/Services/SocketManager.ts | 3 ++- front/src/Administration/TypeMessage.ts | 7 ++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/back/src/Controller/IoSocketController.ts b/back/src/Controller/IoSocketController.ts index cc02d201..c4d882a2 100644 --- a/back/src/Controller/IoSocketController.ts +++ b/back/src/Controller/IoSocketController.ts @@ -81,6 +81,13 @@ export class IoSocketController { const messageToEmit = (message.message as {message: string, type: string, userUuid: string}); socketManager.emitSendUserMessage(messageToEmit); } + if (message.message.type === 'banned') { + const messageToEmit = (message.message as {message: string, type: string, userUuid: string}); + const socketUser = socketManager.emitSendUserMessage(messageToEmit); + setTimeout(() => { + socketUser.close(); + }, 10000); + } } }catch (err) { console.error(err); diff --git a/back/src/Services/SocketManager.ts b/back/src/Services/SocketManager.ts index f32557b0..9fd343be 100644 --- a/back/src/Services/SocketManager.ts +++ b/back/src/Services/SocketManager.ts @@ -673,7 +673,7 @@ class SocketManager { client.send(serverToClientMessage.serializeBinary().buffer, true); } - public emitSendUserMessage(messageToSend: {userUuid: string, message: string, type: string}): void { + public emitSendUserMessage(messageToSend: {userUuid: string, message: string, type: string}): ExSocketInterface { const socket = this.searchClientByUuid(messageToSend.userUuid); if(!socket){ throw 'socket was not found'; @@ -689,6 +689,7 @@ class SocketManager { if (!socket.disconnecting) { socket.send(serverToClientMessage.serializeBinary().buffer, true); } + return socket; } } diff --git a/front/src/Administration/TypeMessage.ts b/front/src/Administration/TypeMessage.ts index 20360fea..09b87eec 100644 --- a/front/src/Administration/TypeMessage.ts +++ b/front/src/Administration/TypeMessage.ts @@ -1,7 +1,7 @@ import {TypeMessageInterface} from "./UserMessageManager"; import {HtmlUtils} from "../WebRtc/HtmlUtils"; -export class Ban implements TypeMessageInterface { +export class TypeMessageExt implements TypeMessageInterface{ private nbSecond = 0; private maxNbSecond = 10; private titleMessage = 'IMPORTANT !'; @@ -59,4 +59,9 @@ export class Ban implements TypeMessageInterface { }); } } +} +export class Ban extends TypeMessageExt { +} + +export class Banned extends TypeMessageExt { } \ No newline at end of file