-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
96 lines (81 loc) · 2.21 KB
/
app.js
File metadata and controls
96 lines (81 loc) · 2.21 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
"use strict";
/**
* Module dependencies.
*/
// process.env.NODE_ENV = 'test';
var express = require('express'),
glob = require('glob'),
mongoose = require('mongoose'),
session = require('express-session');
// path = require('path');
// http = require('http');
// json2csv = require('json2csv');
// config = require('./config/config.' + app.get('env')); // Global configuration file
// moment = require('moment'); // http: //momentjs.com/docs/
// url = require('url'); // http: //momentjs.com/docs/
// progressBar = require('progress');
// mailer = require('mailer'); // Global mailer file
/**
* Globals
*/
GLOBAL.config = require('./config/config');
GLOBAL.session = {};
GLOBAL.mongo = require('mongodb');
GLOBAL.mongoose = require('mongoose');
GLOBAL.Schema = mongoose.Schema;
GLOBAL.dateFormat = require('dateformat'); // Global dateFormat library
/**
* Libs
*/
GLOBAL.utils = require('./app/libs/utilities');
/**
* Models require
*/
var models = glob.sync(config.root + '/app/models/*.js');
models.forEach(function (model) {
require(model);
});
/**
* Setting application
*/
var app = express();
/**
* Session management
*/
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true
}));
// @TODO - REMOVE ME evaluate authentication
app.use(function (req, res, next) {
if (app.get('env') === 'development') {
// simulating login
req.session.logged_in = true;
req.session.name = "Rodolfo Gonçalves";
req.session.user_id = '53fa47f3fbce10512ee32985';
}
next();
});
app.use('/datasetExplorer', function (req, res, next) {
if (!req.session.logged_in) {
res.redirect('/user/signin');
} else {
next();
}
});
require('./config/express')(app, config);
/**
* MongoDB connection
*/
mongoose.connect('mongodb://'+config.db.host+':'+config.db.port+'/'+config.db.database);
GLOBAL.db = mongoose.connection;
db.on('error', function () {
throw new Error('unable to connect to database at ' + config.db.database);
});
/**
* Launch application
*/
app.listen(config.web.port, function () {
console.log('Express server listening on port ' + config.web.port);
});