/* jshint node: true */ var ejs = require('ejs'); ejs.open = '[['; ejs.close = ']]'; var config = require('../config.json'), models = require('./models'), api = require('./api'), auth = require('./auth'), middleware = require('./middleware'), views = require('./views'); var http = require('http'), express = require('express'), bodyParser = require('body-parser'), cookieParser = require('cookie-parser'), session = require('express-session'), methodOverride = require('method-override'), errorHandler = require('errorhandler'), multer = require('multer'), morgan = require('morgan'), csurf = require('csurf'), path = require('path'); var app = express() var server var auth = require('./auth') var api = require('./api') // var site = {} site.init = function(){ site.ready() } site.ready = function(){ auth.init() site.setup() site.route() } site.setup = function(){ // var SessionStore = new MongoStore({ mongoose_connection: mongoose.connection }) app.set('port', config.port); app.set('views', path.join(__dirname, '../views')); app.set('view engine', 'ejs'); app.use(express.static(path.join(__dirname, '../public'))); app.use(morgan('dev')); app.use(cookieParser(config.secret)); app.use(session({ key: config.name + '.sid', secret: config.secret, cookie: { domain: '.' + config.host, maxAge: 60*60*24*365 }, // store: SessionStore })); app.use(bodyParser()); app.use(multer()); app.use(express.query()); app.use(csurf); app.use(methodOverride()); // app.use(passport.initialize()); // app.use(passport.session()); app.enable('trust proxy') app.get('env') === 'development' && app.use(errorHandler()); // Essential middleware // app.all('*', middleware.enableCORS); app.all('*', middleware.ensureLocals); server = http.createServer(app) server.listen(app.get('port'), function () { console.log('Express server listening on port ' + app.get('port')); }); // var io = websocket.listen(server) // auth.initSockets(io, SessionStore) } site.route = function(){ app.get('/', views.home) app.post('/auth/signin', auth.loggedInLocal); app.get('/logout', auth.logout); } site.init()