2016-05-01 22:53:09 +02:00
|
|
|
var util = require('util');
|
|
|
|
var EventEmitter = require('events').EventEmitter;
|
2014-10-22 15:35:22 +02:00
|
|
|
|
2016-05-01 22:53:09 +02:00
|
|
|
function EventStore(eventDb) {
|
|
|
|
this.eventDb = eventDb;
|
2014-10-22 15:35:22 +02:00
|
|
|
EventEmitter.call(this);
|
|
|
|
}
|
2014-10-22 16:26:36 +02:00
|
|
|
util.inherits(EventStore, EventEmitter);
|
2014-10-22 15:35:22 +02:00
|
|
|
|
2014-10-23 10:32:13 +02:00
|
|
|
EventStore.prototype.create = function (event) {
|
2014-10-23 12:03:46 +02:00
|
|
|
var that = this;
|
2016-05-01 22:53:09 +02:00
|
|
|
return this.eventDb.store(event).then(function() {
|
|
|
|
that.emit(event.type, event);
|
2014-10-23 12:03:46 +02:00
|
|
|
});
|
2014-10-22 15:35:22 +02:00
|
|
|
};
|
|
|
|
|
2016-05-01 22:53:09 +02:00
|
|
|
module.exports = EventStore;
|