mirror of
https://github.com/Febbweiss/CloudBudget.git
synced 2026-03-05 06:45:39 +00:00
Feature: First version of the REST API done
This commit is contained in:
35
app/events/listeners.js
Normal file
35
app/events/listeners.js
Normal file
@@ -0,0 +1,35 @@
|
||||
var mongoose = require('mongoose'),
|
||||
Account = mongoose.model('Account'),
|
||||
EventEmitter = require('events').EventEmitter,
|
||||
AccountController = require('../controllers/accounts');
|
||||
|
||||
|
||||
var eventEmitter = new EventEmitter(),
|
||||
ACCOUNTS_DELETE_BY_USER_ID_EVT = 'accounts.delete.by.user.id',
|
||||
ENTRIES_DELETE_BY_ACCOUNT_EVT = 'entries.delete.by.account';
|
||||
|
||||
eventEmitter.on(ACCOUNTS_DELETE_BY_USER_ID_EVT, function(user_id) {
|
||||
Account.find({user_id: user_id}, function(errors, accounts) {
|
||||
if( errors ) {
|
||||
console.error('An error occurs during accounts deletion for user ' + user_id, errors);
|
||||
return;
|
||||
}
|
||||
|
||||
if( !accounts ) {
|
||||
console.log('No accounts');
|
||||
return;
|
||||
}
|
||||
for( var index in accounts ) {
|
||||
eventEmitter.emit(ENTRIES_DELETE_BY_ACCOUNT_EVT, accounts[index]);
|
||||
}
|
||||
});
|
||||
});
|
||||
eventEmitter.on(ENTRIES_DELETE_BY_ACCOUNT_EVT, AccountController.delete_account);
|
||||
|
||||
module.exports = {
|
||||
events : {
|
||||
ACCOUNTS_DELETE_BY_USER_ID_EVT: ACCOUNTS_DELETE_BY_USER_ID_EVT,
|
||||
ENTRIES_DELETE_BY_ACCOUNT_EVT: ENTRIES_DELETE_BY_ACCOUNT_EVT
|
||||
},
|
||||
eventEmitter: eventEmitter
|
||||
}
|
||||
Reference in New Issue
Block a user