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