diff --git a/back/src/Controller/IoSocketController.ts b/back/src/Controller/IoSocketController.ts index 0425aa40..22d11f03 100644 --- a/back/src/Controller/IoSocketController.ts +++ b/back/src/Controller/IoSocketController.ts @@ -18,7 +18,7 @@ import {UserMovesMessage} from "../Messages/generated/messages_pb"; import {TemplatedApp} from "uWebSockets.js" import {parse} from "query-string"; import {jwtTokenManager} from "../Services/JWTTokenManager"; -import {adminApi} from "../Services/AdminApi"; +import {adminApi, fetchMemberDataByUuidResponse} from "../Services/AdminApi"; import {socketManager} from "../Services/SocketManager"; import {emitInBatch, resetPing} from "../Services/IoSocketHelpers"; import Jwt from "jsonwebtoken"; @@ -226,6 +226,23 @@ export class IoSocketController { const client = this.initClient(ws); //todo: into the upgrade instead? socketManager.handleJoinRoom(client); resetPing(client); + + //get data information and shwo messages + adminApi.fetchMemberDataByUuid(client.userUuid).then((res: fetchMemberDataByUuidResponse) => { + if (!res.messages) { + return; + } + res.messages.forEach((c: unknown) => { + let messageToSend = c as { type: string, message: string }; + socketManager.emitSendUserMessage({ + userUuid: client.userUuid, + type: messageToSend.type, + message: messageToSend.message + }) + }); + }).catch((err) => { + console.error('fetchMemberDataByUuid => err', err); + }); }, message: (ws, arrayBuffer, isBinary): void => { const client = ws as ExSocketInterface; diff --git a/back/src/Services/AdminApi.ts b/back/src/Services/AdminApi.ts index 5f6647bf..9f51fb2e 100644 --- a/back/src/Services/AdminApi.ts +++ b/back/src/Services/AdminApi.ts @@ -9,11 +9,13 @@ export interface AdminApiData { tags: string[] policy_type: number userUuid: string + messages?: unknown[] } export interface fetchMemberDataByUuidResponse { uuid: string; tags: string[]; + messages: unknown[]; } class AdminApi { @@ -32,9 +34,9 @@ class AdminApi { params.roomSlug = roomSlug; } - const res = await Axios.get(ADMIN_API_URL+'/api/map', + const res = await Axios.get(ADMIN_API_URL + '/api/map', { - headers: {"Authorization" : `${ADMIN_API_TOKEN}`}, + headers: {"Authorization": `${ADMIN_API_TOKEN}`}, params } ) @@ -45,7 +47,7 @@ class AdminApi { if (!ADMIN_API_URL) { return Promise.reject('No admin backoffice set!'); } - const res = await Axios.get(ADMIN_API_URL+'/membership/'+uuid, + const res = await Axios.get(ADMIN_API_URL+'/api/membership/'+uuid, { headers: {"Authorization" : `${ADMIN_API_TOKEN}`} } ) return res.data; diff --git a/front/src/Administration/TypeMessage.ts b/front/src/Administration/TypeMessage.ts index 09b87eec..7bd9b484 100644 --- a/front/src/Administration/TypeMessage.ts +++ b/front/src/Administration/TypeMessage.ts @@ -29,7 +29,7 @@ export class TypeMessageExt implements TypeMessageInterface{ const mainSectionDiv = HtmlUtils.getElementByIdOrFail('main-container'); mainSectionDiv.appendChild(div); - const reportMessageAudio = HtmlUtils.getElementByIdOrFail('audio-webrtc-in'); + const reportMessageAudio = HtmlUtils.getElementByIdOrFail('report-message'); reportMessageAudio.play(); this.nbSecond = this.maxNbSecond;