salix/services/mailer/server.js

44 lines
1.3 KiB
JavaScript

var express = require('express');
var app = module.exports = express();
var bodyParser = require('body-parser');
var settings = require('./application/settings.js');
var mail = require('./application/mail.js');
var database = require('./application/database.js');
var auth = require('./application/auth.js');
var path = require('path');
// Body parser middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use('/static', express.static(path.join(__dirname, '/static')));
// Auth middleware
var requestToken = function(request, response, next) {
auth.init(request, response, next);
};
// Load routes
app.use('/', requestToken, require('./application/router.js'));
app.start = function() {
var listener = app.listen(settings.app().port, function() {
var servicePath = 'http://' + listener.address().address + ':' + listener.address().port;
mail.init();
database.init();
database.testEmail();
let packageJson = require('./package.json');
console.log(`Web server ${packageJson.name} listening at: ${servicePath}`);
if (settings.app().debug) {
console.log(`${packageJson.name} service debug mode enabled`);
}
});
return listener;
};
if (require.main === module) {
app.start();
}