Øystein Bedin
2019-06-26 dac3b367122d38cb1f860fc6f269d7a3f7727a7b
commit | author | age
6ef0cc 1 /**
D 2  * Main application file
3  */
4
5 'use strict';
6
7 // Set default node environment to development
8 process.env.NODE_ENV = process.env.NODE_ENV || 'development';
9
c382ab 10 const express = require('express');
D 11 const config = require('./config/environment');
6ef0cc 12
D 13
14
15 // Populate DB with sample data
16 if(config.seedDB) { require('./config/seed'); }
17
18 // Setup server
c382ab 19 const app = express();
D 20 const server = require('http').createServer(app);
6ef0cc 21 require('./config/express')(app);
D 22
23 if (config.mocks && config.mocks.api) {
6a748c 24   //add stubs if needed
6ef0cc 25   require('./mocks/mock-routes')(app);
D 26 } else {
c382ab 27   const mongoose = require('mongoose');
6ef0cc 28   // Connect to database
D 29   mongoose.connect(config.mongo.uri, config.mongo.options);
30   mongoose.connection.on('error', function(err) {
31       console.error('MongoDB connection error: ' + err);
32       process.exit(-1);
33     }
34   );
35   require('./routes')(app);
36 }
37
38 // Start server
39 server.listen(config.port, config.ip, function () {
40   console.log('Express server listening on %d, in %s mode', config.port, app.get('env'));
41 });
42
43 // Expose app
44 exports = module.exports = app;