Built motion from commit 06df96e on branch develop.
[motion.git] / server / api / user_has_voice_queue / user_has_voice_queue.socket.js
1 /**
2  * Broadcast updates to client when the model changes
3  */
4
5 'use strict';
6
7 var UserHasVoiceQueue = require('../../models').UserHasVoiceQueue;
8
9 exports.register = function(socket) {
10   UserHasVoiceQueue.afterCreate(function(doc) {
11     onSave(socket, doc);
12   });
13   UserHasVoiceQueue.afterUpdate(function(doc) {
14     onSave(socket, doc);
15   });
16   UserHasVoiceQueue.afterDestroy(function(doc) {
17     onRemove(socket, doc);
18   });
19 }
20
21 function onSave(socket, doc, cb) {
22   socket.emit('user_has_voice_queue:save', {
23     logged: doc.logged,
24     loggedAt: doc.loggedAt,
25     queue: doc.queue,
26     membername: doc.membername,
27     interface: doc.interface,
28     callstaken: doc.callstaken,
29     lastcall: doc.lastcall,
30     status: doc.status,
31     statusdesc: doc.statusdesc,
32     statusAt: doc.statusAt,
33     paused: doc.paused,
34     pausedAt: doc.pausedAt,
35     reason: doc.reason
36   });
37 }
38
39 function onRemove(socket, doc, cb) {
40   socket.emit('user_has_voice_queue:remove', doc);
41 }