cf6f9ecac4a8fcb347a802245f0d558d1f6618e5
[motion.git] / server / api / event / event.socket.js
1 /**
2  * Broadcast updates to client when the model changes
3  */
4
5 'use strict';
6
7 var Event = require('../../models').Event;
8
9 exports.register = function(socket) {
10   Event.afterCreate(function(doc) {
11     Event
12       .findOne({
13         where: {
14           id: doc.id
15         },
16         include: [{
17           all: true
18         }]
19       })
20       .then(function(event) {
21         onSave(socket, event);
22       });
23   });
24
25   Event.afterDestroy(function(doc) {
26     onRemove(socket, doc);
27   });
28 }
29
30 function onSave(socket, doc, cb) {
31   socket.emit(('event:' + doc.channel + ':save').toLowerCase(), doc);
32 }
33
34 function onRemove(socket, doc, cb) {
35   socket.emit('event:remove', doc);
36 }