diff options
Diffstat (limited to 'app.js')
-rw-r--r-- | app.js | 36 |
1 files changed, 33 insertions, 3 deletions
@@ -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; |