linagora-rse
Version:
36 lines (32 loc) • 1.6 kB
JavaScript
;
var AwesomeModule = require('awesome-module');
var Dependency = AwesomeModule.AwesomeModuleDependency;
var messagingMail = new AwesomeModule('linagora.esn.messaging.email', {
dependencies: [
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.webserver.wrapper', 'webserver-wrapper'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.helpers', 'helpers'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.db', 'db'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.message', 'message'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.user', 'user'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.email', 'email'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.pubsub', 'pubsub'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.collaboration', 'collaboration'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.esn-config', 'esn-config'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.config', 'config'),
new Dependency(Dependency.TYPE_NAME, 'linagora.esn.core.logger', 'logger')
],
states: {
lib: function(dependencies, callback) {
var lib = require('./lib')(dependencies);
return callback(null, lib);
},
deploy: function(dependencies, callback) {
var webserverWrapper = dependencies('webserver-wrapper');
var app = require('./backend/webserver/application')(this, dependencies);
this.sender.listen();
webserverWrapper.addApp('', app);
return callback();
}
}
});
module.exports = messagingMail;