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