mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01: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
							
								
									93bf2b7e84
								
							
						
					
					
						commit
						50b56fd7a1
					
				| @ -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