/* jshint node: true */ var config = require('../config.json'), 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'), passport = require('passport'); 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.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: 365*24*60*60*1000, httpOnly: false, secure: false }, resave: true, saveUninitialized: true, // 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.post('/login', auth.login) app.get('/logout', auth.logout) app.get('/api/party/list', middleware.ensureAuthenticated, api.party.list) app.get('/api/party/view', middleware.ensureAuthenticated, api.party.view) app.post('/api/party/edit', middleware.ensureAuthenticated, api.party.edit) app.get('/api/user/all', middleware.ensureAuthenticated, api.user.all) app.get('/api/user/view', middleware.ensureAuthenticated, api.user.view) app.post('/api/user/edit', middleware.ensureAuthenticated, api.user.edit) app.post('/api/user/destroy', middleware.ensureAuthenticated, api.user.destroy) app.get("/api/populate/user", api.populate.user) app.get("/api/populate/party", api.populate.party) app.get("/api/populate/userparty", api.populate.userparty) } site.init()