40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
const express = require('express');
|
|
const session = require('express-session');
|
|
|
|
const app = express();
|
|
const port = 3000;
|
|
|
|
// Start creating our session config
|
|
var sess = {
|
|
secret: 'dark archon', // will need to change this later
|
|
cookie: {}
|
|
}
|
|
if (app.get('env') === 'production') {
|
|
app.set('trust proxy', 1) // trust first proxy
|
|
sess.cookie.secure = true // serve secure cookies
|
|
}
|
|
// Enable the Express.js session handling
|
|
app.use(session(sess))
|
|
|
|
// Initialize the Twig template engine - this might get swapped for Twing later.
|
|
app.set('view engine', 'twig');
|
|
|
|
// Service static files from public/
|
|
app.use(express.static('public'));
|
|
|
|
// Load middleware
|
|
authMiddleware = require('./src/middleware/authMiddleware');
|
|
app.use('/', authMiddleware.authProtected);
|
|
|
|
// Load in route handlers
|
|
indexRoutes = require('./routes/index');
|
|
authRoutes = require('./routes/auth');
|
|
|
|
// Assign routes to handlers
|
|
app.get('/', indexRoutes.home);
|
|
app.get('/auth/login', authRoutes.getLogin);
|
|
|
|
app.listen(port, () => {
|
|
console.log(`Example app listening on port ${port}`)
|
|
});
|