Browse Source

re read users chats

asmer@controller 2 years ago
parent
commit
68fa7fc581
1 changed files with 3 additions and 1 deletions
  1. 3 1
      index.js

+ 3 - 1
index.js

@@ -182,7 +182,8 @@ const upload  = require('multer')({ dest: uploadPath })
     async function chatWatcher({_loadRelations, members, _id, createdAt, title, messages, avatar, lastModified}){
 
         console.log('CHAT SAVE', _id, title)
-        for (let [id,{user, socket}] of Object.entries(sockets)){
+        for (let [id,socketData] of Object.entries(sockets)){
+            const {user, socket} = socketData
             const isMember = members.some(member => member._id.toString() === user._id.toString())
             const wasMember  =(_loadRelations.members && _loadRelations.members.some(member => member._id.toString() === user._id.toString())) 
             if (isMember || wasMember){
@@ -195,6 +196,7 @@ const upload  = require('multer')({ dest: uploadPath })
                 //owner = await owner;
                 console.log('EMIT', _id, createdAt.getTime(), title)
                 socket.emit(isMember ? 'chat' : 'chat_left', {_id, createdAt: createdAt.getTime(), title, avatar: avatar && {_id: avatar._id, url: avatar.url}, members: members.map(({_id, login, nick}) => ({_id, login, nick})), lastModified})
+                socketData.user = (await getModels(socketData.decoded.sub)).thisUser //re-read chat permissions 
             }
         }
     }