2 * Broadcast updates to client when the model changes
7 var User = require('../../models').User;
8 var ChatRoom = require('../../models').ChatRoom;
9 var ChatVisitor = require('../../models').ChatVisitor;
10 var UserHasChatRoom = require('../../models').UserHasChatRoom;
12 exports.register = function(socket) {
13 UserHasChatRoom.afterCreate(function(doc) {
16 UserHasChatRoom.afterUpdate(function(doc) {
19 UserHasChatRoom.afterDestroy(function(doc) {
20 onRemove(socket, doc);
24 function onSave(socket, doc, cb) {
25 if (socket.userId == doc.UserId) {
26 console.log('user_has_chat_room:save');
28 .findById(doc.ChatRoomId, {
31 attributes: ['id', 'fullname', 'email']
34 attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
37 .then(function(chatRoom) {
38 socket.emit('user_has_chat_room:save', chatRoom);
40 .catch(function(err) {
46 function onRemove(socket, doc, cb) {
47 socket.emit('user_has_chat_room:remove', doc);