e1071aaf6ad290808324bdea2749d088415368f0
[motion.git] / server / api / user / user.socket.js
1 /**
2  * Broadcast updates to client when the model changes
3  */
4
5 'use strict';
6
7 var user = require('../../models').User;
8
9 exports.register = function(socket) {
10   user.afterCreate(function(doc) {
11     onSave(socket, doc);
12   });
13   user.afterUpdate(function(doc) {
14     onSave(socket, doc);
15   });
16   user.afterDestroy(function(doc) {
17     onRemove(socket, doc);
18   });
19 }
20
21 function onSave(socket, doc, cb) {
22   if (doc.role === 'admin') {
23     socket.emit('user:save', doc);
24   }
25 }
26
27 function onRemove(socket, doc, cb) {
28   if (doc.role === 'admin') {
29     socket.emit('user:remove', doc);
30   }
31 }