-
Notifications
You must be signed in to change notification settings - Fork 2
/
server.js
77 lines (69 loc) · 1.57 KB
/
server.js
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
'use strict';
/**
* Define Dependencies
* @type {exports}
*/
var Hapi = require('hapi'),
Path = require('path'),
config = require('./config');
var db = require('./src/api/models/db')(config.get('/mongodb/url'));
var port = config.get('/port/api');
var routes = require('./src/api/routes');
/**
* Set server options
* @type {{views: {engines: {html: (handlebars|exports)}, path: *}}}
*/
var serverOptions = {
views: {
engines: {
html: require('handlebars')
},
path: Path.join(__dirname, './src/web/views')
}
};
/**
* Create a new Hapi server
* @type {exports.Server}
*/
var server = new Hapi.Server(port, serverOptions);
/**
* Register hapi plugin
*/
server.pack.register([
{
plugin: require('hapi-auth-cookie')
},
{
plugin: require('./src/api/plugins/hapi-mailer'),
options: {
mailer: config.get('/nodemailer'),
from: config.get('/system/fromAddress')
}
},
{
plugin: require('./src/api/plugins/hapi-acl'),
options: {
db: db.db,
prefix: 'hapi_acl_'
}
}
], function (err) {
server.auth.strategy('session', 'cookie', {
password: 'usertenantsecurity1290',
cookie: 'usertenantsecurity',
redirectTo: false,
isSecure: false
});
/**
* Add routes for server
*/
server.route(routes);
/**
* Start the Hapi server
*/
server.start(function () {
console.log('Server started', server.info.uri);
});
});
//exports
module.exports = server;