summaryrefslogtreecommitdiff
path: root/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'app.js')
-rw-r--r--app.js36
1 files changed, 33 insertions, 3 deletions
diff --git a/app.js b/app.js
index 5b82918..8228e82 100644
--- a/app.js
+++ b/app.js
@@ -1,13 +1,43 @@
#!/usr/bin/env node
'use strict';
+var config = require('./config');
var express = require('express');
var app = express();
+var glob = require('glob');
+var mongoose = require('mongoose');
+var session = require('express-session');
+var MongoStore = require('connect-mongo')(express);
-app.get('/', function(req, resp) {
- resp.send('Hello!');
+
+// set up database connection
+mongoose.connect(config.dburi);
+mongoose.connection.on('error', function(err) {
+ console.error('Database connection failed', err);
+ process.exit(1);
});
+//mongoose.set('debug', true);
+
+
+// persistence (for sessions)
+app.use(session({
+ store: new MongoStore({ mongooseConnection: mongoose.connection }),
+ name: 'rvssid',
+ saveUninitialized: false,
+ // TODO detect whether over SSL?
+ // https://github.com/expressjs/session#cookie-options
+ //cookie: { secure: true },
+}));
+
+
+// autoload all routes, making it available on a common prefix.
+var router = express.Router();
+glob.sync('./routes/**/*.js').forEach(function(file) {
+ require(file)(app, router);
+});
+app.use('/api/v1', router);
+
-var server = app.listen(3000, function() {
+var server = app.listen(config.port, function() {
var host = server.address().address;
var port = server.address().port;