UNPKG

ep_rocketchat

Version:
42 lines (36 loc) 1.27 kB
'use strict'; const db = require('ep_etherpad-lite/node/db/DB'); const sharedTransmitter = require('../helpers/sharedTransmitter'); const getOnlineUsersApi = require('../../rocketChat/api/separated').getChannelOnlineUsers; const config = require('../helpers/configs'); exports.updateOnlineUsersList = async (message, socketClient) => { const padId = message.padId; const userId = message.userId; const data = message.data; try { const rocketChatRoom = await db.get(`${config.dbRocketchatKey}:ep_rocketchat:rooms:${data.headerId}`) || false; if (rocketChatRoom.channel) { const onlineUsers = await getOnlineUsersApi(config, rocketChatRoom.channel._id); const msg = { type: 'COLLABROOM', data: { type: 'CUSTOM', payload: { padId, userId, action: 'updateOnlineUsersList', data: { // room :`${padId}_header_${title}`, room: data.headerId, rocketChatBaseUrl: `${config.protocol}://${config.host}`, onlineUsers, }, }, }, }; sharedTransmitter.sendToUser(msg, socketClient); } } catch (e) { console.log(e.message, 'updateOnlineUsersList - general'); } };