TwoToc code
[YouAndWeb_TwoToc] / server / api / comment / comment.events.js
1 /**
2  * Comment model events
3  */
4
5 'use strict';
6
7 var EventEmitter = require('events').EventEmitter;
8 var Comment = require('./comment.model');
9 var CommentEvents = new EventEmitter();
10
11 // Set max event listeners (0 == unlimited)
12 CommentEvents.setMaxListeners(0);
13
14 // Model events
15 var events = {
16   'save': 'save',
17   'remove': 'remove'
18 };
19
20 // Register the event emitter to the model events
21 for (var e in events) {
22   var event = events[e];
23   Comment.schema.post(e, emitEvent(event));
24 }
25
26 function emitEvent(event) {
27   return function(doc) {
28     CommentEvents.emit(event + ':' + doc._id, doc);
29     CommentEvents.emit(event, doc);
30   }
31 }
32
33 module.exports = CommentEvents;