add messaging
Change-Id: I9f7b5c73e25774751a2c55ea6c2575feca5ebfd5
diff --git a/app.js b/app.js
index b8c09f4..74c58b4 100644
--- a/app.js
+++ b/app.js
@@ -118,7 +118,15 @@
// app.use(app.router)
app.use(cors(corsOptions))
- const jami = new JamiDaemon()
+ const jami = new JamiDaemon((account, conversation, message) => {
+ console.log("JamiDaemon onMessage")
+
+ if (conversation.listeners) {
+ Object.values(conversation.listeners).forEach(listener => {
+ listener.socket.emit('newMessage', message)
+ })
+ }
+ })
const apiRouter = new JamiRestApi(jami).getRouter()
/*
@@ -293,6 +301,24 @@
console.log(`saving sid ${socket.id} in session ${session.id}`)
session.socketId = socket.id
session.save()
+
+ socket.on("conversation", (data) => {
+ console.log(`io conversation`)
+ console.log(data);
+ if (session.conversation) {
+ console.log(`disconnect from old conversation ${session.conversation.conversationId}`)
+ const conversation = jami.getConversation(session.conversation.accountId, session.conversation.conversationId)
+ delete conversation.listeners[socket.id]
+ }
+ session.conversation = { accountId: data.accountId, conversationId: data.conversationId }
+ const conversation = jami.getConversation(data.accountId, data.conversationId)
+ if (!conversation.listeners)
+ conversation.listeners = {}
+ conversation.listeners[socket.id] = {
+ socket, session
+ }
+ session.save()
+ })
})
return server