Something went wrong on our end
Select Git revision
IndexApproach.java
index.js 1.72 KiB
const express = require('express');
const fs = require('fs');
const session = require('express-session');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const morgan = require('morgan');
const mongoDBStore = require('connect-mongodb-session')(session);
// Config
const config = require('js-yaml').safeLoad(fs.readFileSync('./config.yml', 'utf8'));
// Middlewares
const userLoader = require('./middlewares/userLoader');
const loginChecker = require('./middlewares/loginChecker');
// Utils
const render = require('./utils/render');
const { warn, error } = require('./utils/notifications');
// Routes
const authRouter = require('./routes/auth');
const charactersRouter = require('./routes/characters');
// Crons
require('./utils/crons');
// Configuration
const app = express();
const store = new mongoDBStore({
uri: 'mongodb://localhost/rolegame',
collection: 'sessions'
});
store.on('error', function(error) {
console.error(error);
});
app.set('view engine', 'pug');
// Middlewares
app.use(morgan('tiny'));
app.use(session({ secret: config.secret, resave: false, saveUninitialized: false, store }));
app.use(bodyParser.urlencoded({ extended: false }));
app.use('/media', express.static('media'));
app.use(userLoader);
app.use(loginChecker);
// Routes
app.get('/', async (req, res) => {
return render(req, res, 'home');
});
app.use('/auth', authRouter);
app.use('/characters', charactersRouter);
mongoose.connect('mongodb://localhost/rolegame', err => {
if (err) {
console.error('ERROR Unable to connect to Mongo database')
} else {
console.log('Server connected to Mongo database');
}
app.listen(config.port, () => {
console.log(`Server listening on http://localhost:${config.port}`);
});
});