2015-07-30 11:38:21 +03:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Module dependencies.
|
|
|
|
|
*/
|
|
|
|
|
var config = require('../config'),
|
2015-08-11 01:01:12 -04:00
|
|
|
mongoose = require('./mongoose'),
|
|
|
|
|
express = require('./express'),
|
2015-09-26 00:08:53 +03:00
|
|
|
chalk = require('chalk'),
|
|
|
|
|
seed = require('./seed');
|
2015-07-30 11:38:21 +03:00
|
|
|
|
2015-09-26 00:08:53 +03:00
|
|
|
function seedDB() {
|
2015-10-28 14:08:24 -07:00
|
|
|
if (config.seedDB && config.seedDB.seed) {
|
2015-09-26 00:08:53 +03:00
|
|
|
console.log(chalk.bold.red('Warning: Database seeding is turned on'));
|
|
|
|
|
seed.start();
|
|
|
|
|
}
|
2015-08-13 09:37:24 -05:00
|
|
|
}
|
|
|
|
|
|
2015-09-26 00:08:53 +03:00
|
|
|
// Initialize Models
|
|
|
|
|
mongoose.loadModels(seedDB);
|
|
|
|
|
|
2015-07-30 11:38:21 +03:00
|
|
|
module.exports.init = function init(callback) {
|
2015-08-11 01:01:12 -04:00
|
|
|
mongoose.connect(function (db) {
|
|
|
|
|
// Initialize express
|
|
|
|
|
var app = express.init(db);
|
|
|
|
|
if (callback) callback(app, db, config);
|
2015-07-30 11:38:21 +03:00
|
|
|
|
2015-08-11 01:01:12 -04:00
|
|
|
});
|
2015-07-30 11:38:21 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.exports.start = function start(callback) {
|
2015-08-11 01:01:12 -04:00
|
|
|
var _this = this;
|
2015-07-30 11:38:21 +03:00
|
|
|
|
2015-08-11 01:01:12 -04:00
|
|
|
_this.init(function (app, db, config) {
|
2015-07-30 11:38:21 +03:00
|
|
|
|
2015-12-13 14:45:44 +05:30
|
|
|
// Start the app by listening on <port> at <host>
|
|
|
|
|
app.listen(config.port, config.host, function () {
|
2016-01-17 02:44:10 +05:30
|
|
|
// Create server URL
|
|
|
|
|
var server = (process.env.NODE_ENV === 'secure' ? 'https://' : 'http://') + config.host + ':' + config.port;
|
2015-08-11 01:01:12 -04:00
|
|
|
// Logging initialization
|
|
|
|
|
console.log('--');
|
|
|
|
|
console.log(chalk.green(config.app.title));
|
2016-01-17 02:44:10 +05:30
|
|
|
console.log();
|
|
|
|
|
console.log(chalk.green('Environment: ' + process.env.NODE_ENV));
|
|
|
|
|
console.log(chalk.green('Server: ' + server));
|
|
|
|
|
console.log(chalk.green('Database: ' + config.db.uri));
|
|
|
|
|
console.log(chalk.green('App version: ' + config.meanjs.version));
|
2015-09-06 09:10:43 +03:00
|
|
|
if (config.meanjs['meanjs-version'])
|
2016-01-17 02:44:10 +05:30
|
|
|
console.log(chalk.green('MEAN.JS version: ' + config.meanjs['meanjs-version']));
|
2015-08-11 01:01:12 -04:00
|
|
|
console.log('--');
|
2015-07-30 11:38:21 +03:00
|
|
|
|
2015-08-11 01:01:12 -04:00
|
|
|
if (callback) callback(app, db, config);
|
|
|
|
|
});
|
2015-07-30 11:38:21 +03:00
|
|
|
|
2015-08-11 01:01:12 -04:00
|
|
|
});
|
2015-07-30 11:38:21 +03:00
|
|
|
|
|
|
|
|
};
|