mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-10 01:16:39 +02:00
#18 eventRepository can now emit events
There is an example in eventRepositorySpec on how to listen on events.
This commit is contained in:
parent
79098e3a5f
commit
6047f9494e
@ -1,9 +1,12 @@
|
||||
var db = require('./db');
|
||||
|
||||
var EventRepository = require('./eventRepository');
|
||||
var eventDb = new EventRepository();
|
||||
|
||||
module.exports = function (app) {
|
||||
|
||||
app.get('/features', function (req, res) {
|
||||
// TODO svelovla, fix this
|
||||
eventDb.create({name: 'testing method'});
|
||||
db.getFeatures().then(function (features) {
|
||||
res.json({features: features});
|
||||
});
|
||||
@ -37,7 +40,6 @@ module.exports = function (app) {
|
||||
var body = req.body;
|
||||
body.data.name = req.params.id;
|
||||
var event = {};
|
||||
event.type = 'feature-update';
|
||||
event.user = req.connection.remoteAddress;
|
||||
event.comment = body.comment;
|
||||
event.data = body.data;
|
||||
|
17
unleash-server/lib/eventRepository.js
Normal file
17
unleash-server/lib/eventRepository.js
Normal file
@ -0,0 +1,17 @@
|
||||
var util = require('util');
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
var events = require('./events');
|
||||
|
||||
function EventRepository() {
|
||||
EventEmitter.call(this);
|
||||
}
|
||||
|
||||
util.inherits(EventRepository, EventEmitter);
|
||||
|
||||
EventRepository.prototype.create = function (obj) {
|
||||
this.emit(events.featureCreated, obj);
|
||||
};
|
||||
|
||||
|
||||
|
||||
module.exports = EventRepository;
|
3
unleash-server/lib/events.js
Normal file
3
unleash-server/lib/events.js
Normal file
@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
featureCreated : 'featureCreated'
|
||||
};
|
22
unleash-server/test/eventRepositorySpec.js
Normal file
22
unleash-server/test/eventRepositorySpec.js
Normal file
@ -0,0 +1,22 @@
|
||||
var assert = require('assert');
|
||||
var events = require('../lib/events');
|
||||
var EventRepository = require('../lib/eventRepository');
|
||||
var eventRepository = new EventRepository();
|
||||
|
||||
describe('EventRepository', function () {
|
||||
describe('#create()', function () {
|
||||
it('should emit event', function (done) {
|
||||
eventRepository.on(events.featureCreated, function (x) {
|
||||
assert(x);
|
||||
done();
|
||||
}
|
||||
);
|
||||
eventRepository.create({
|
||||
'name': 'mail-server.validate-email-addresses',
|
||||
'enabled': false,
|
||||
'strategy': 'default',
|
||||
'description': 'Feature description'
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue
Block a user