You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.8 KiB
58 lines
1.8 KiB
var express = require('express'),
|
|
bodyParser = require('body-parser'),
|
|
methodOverride = require('method-override'),
|
|
mongoose = require('mongoose'),
|
|
passport = require('passport'),
|
|
session = require('express-session'),
|
|
port = 3000 || process.env.PORT,
|
|
app = express();
|
|
|
|
mongoose.connect('mongodb://localhost/maps_auth_app');
|
|
|
|
// load passport config
|
|
require('./config/passport')(passport);
|
|
|
|
locationsController = require('./controllers/locationsController');
|
|
usersController = require('./controllers/usersController');
|
|
|
|
app.use(express.static('public'));
|
|
|
|
app.use(bodyParser.urlencoded({ extended: false }));
|
|
app.use(bodyParser.json());
|
|
|
|
app.use(session({ name: 'maps_auth_app', secret: 'conventional wisdom' }));
|
|
app.use(passport.initialize());
|
|
app.use(passport.session());
|
|
|
|
app.use(methodOverride(function(req, res){
|
|
if (req.body && typeof req.body === 'object' && '_method' in req.body) {
|
|
var method = req.body._method;
|
|
delete req.body._method;
|
|
return method;
|
|
}
|
|
}));
|
|
|
|
// Example middleware for template control flow via 'login' variable.
|
|
// I'm using res.locals.login = req.isAuthenticated() only in the users index controller for now,
|
|
// for use only in users/index.ejs view. I've commented it here in case I ever wanted to make it
|
|
// available to other pages or make it app-wide in future.
|
|
|
|
// app.use('/', function(req, res, next) {
|
|
// res.locals.login = req.isAuthenticated();
|
|
// next();
|
|
// });
|
|
|
|
app.use('/locations', locationsController);
|
|
app.use('/users', usersController);
|
|
|
|
// root redirects to users index
|
|
app.get('/', function(req, res) {
|
|
res.redirect('/users');
|
|
});
|
|
|
|
app.listen(port, function() {
|
|
console.log('=======================');
|
|
console.log('Running on port ' + port);
|
|
console.log('=======================');
|
|
});
|