Send received message through WebSocket
- send received message from through WebSocket
- remove SocketIO from client
GitLab: #96
Change-Id: I7a8eec04010f0773428f914792c13decef393ebf
diff --git a/server/src/jamid/jamid.ts b/server/src/jamid/jamid.ts
index a3db747..0c54adf 100644
--- a/server/src/jamid/jamid.ts
+++ b/server/src/jamid/jamid.ts
@@ -15,7 +15,15 @@
* License along with this program. If not, see
* <https://www.gnu.org/licenses/>.
*/
-import { AccountDetails, Message, VolatileDetails, WebSocketMessageType } from 'jami-web-common';
+import {
+ AccountDetails,
+ AccountTextMessage,
+ ConversationMessage,
+ Message,
+ VolatileDetails,
+ WebSocketMessage,
+ WebSocketMessageType,
+} from 'jami-web-common';
import log from 'loglevel';
import { filter, firstValueFrom, map, Subject } from 'rxjs';
import { Service } from 'typedi';
@@ -369,7 +377,7 @@
this.events.onIncomingAccountMessage.subscribe((signal) => {
log.debug('Received IncomingAccountMessage:', JSON.stringify(signal));
- const message = JSON.parse(signal.payload['application/json']);
+ const message: WebSocketMessage<any> = JSON.parse(signal.payload['application/json']);
if (message === undefined) {
log.debug('Undefined account message');
@@ -381,10 +389,15 @@
return;
}
- message.data.from = signal.from;
- message.data.to = signal.accountId;
+ const data: AccountTextMessage<unknown> = {
+ from: signal.from,
+ to: signal.accountId,
+ message: message.data.message,
+ };
+ message.data = data;
+
log.info(`Sending ${JSON.stringify(message)} to ${signal.accountId}`);
- this.ws.send(signal.accountId, message);
+ this.ws.send(signal.accountId, message.type, data);
});
this.events.onAccountMessageStatusChanged.subscribe((signal) => {
@@ -416,7 +429,11 @@
this.events.onMessageReceived.subscribe((signal) => {
log.debug('Received MessageReceived:', JSON.stringify(signal));
- // TODO: Send message to client using WS service
+ const data: ConversationMessage = {
+ conversationId: signal.conversationId,
+ message: signal.message,
+ };
+ this.ws.send(signal.accountId, WebSocketMessageType.ConversationMessage, data);
});
}
}