forked from serby/ctrl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
55 lines (46 loc) · 1.61 KB
/
server.js
File metadata and controls
55 lines (46 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var
properties = require('./properties').getProperties(),
serviceLocator = require('service-locator').createServiceLocator(),
nodemailer = require('nodemailer'),
databaseAdaptor = require('./lib/database').createDatabaseAdaptor(properties, serviceLocator),
sessionDatabaseAdaptor = require('./lib/database').createDatabaseAdaptor(properties, serviceLocator),
Application = require('./lib/expressApplication'),
bundleManager = require('./lib/bundled/bundleManager').createBundleManager(serviceLocator),
app,
globalViewHelpers = require('./viewHelpers/global');
// Register the global services needed by your entire application
serviceLocator
.register('mailer', nodemailer.send_mail)
.register('logger', require('./lib/logger').createLogger(properties))
.register('uploadDelegate', require('fileupload').createFileUpload(properties.dataPath));
bundleManager.addBundles(__dirname + '/bundles/', [
'home',
'administrator',
'admin',
'rolesAdmin',
'generic',
'adminUi',
'image'
]);
module.exports = app = Application.createApplication(properties, serviceLocator, bundleManager, sessionDatabaseAdaptor);
databaseAdaptor.createConnection(function(connection) {
serviceLocator
.register('databaseConnections', {
main: connection
});
bundleManager.initBundles(app, properties);
// Make the bundle manager available to views
app.configure(function() {
app.dynamicHelpers({
bundleManager: function(req, res) {
return bundleManager;
},
serviceLocator: function(req, res) {
return serviceLocator;
}
});
});
// Add helpers
globalViewHelpers.createHelpers(properties, app);
app.start();
});