Gregory Ballantine
6c046dde81
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
const express = require('express');
|
|
const session = require('express-session');
|
|
const RedisStore = require('connect-redis')(session);
|
|
// const flash = require('express-flasher');
|
|
|
|
// instantiate new express.js app
|
|
const app = express();
|
|
const config = require('config');
|
|
|
|
// initialize database connection
|
|
(async () => {
|
|
const db = require('./src/models');
|
|
await db.sequelize.sync({
|
|
alter: true,
|
|
});
|
|
})();
|
|
|
|
// initialize Redis store for session data
|
|
const redisClient = require('./src/redis');
|
|
|
|
// initialize express.js session w/ Redis datastore
|
|
app.use(session({
|
|
store: new RedisStore({
|
|
client: redisClient,
|
|
}), // use Redis datastore
|
|
resave: false, // don't save session if unmodified
|
|
saveUninitialized: false, // don't create session until something stored
|
|
secret: 'lord of the rings',
|
|
}));
|
|
|
|
// setup flash messaging
|
|
// app.use(flash.flash());
|
|
// app.use(flash.flashRead());
|
|
|
|
// set up body POST parameters
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({
|
|
extended: true,
|
|
}));
|
|
|
|
// load the template engine
|
|
app.set('view engine', 'twig');
|
|
|
|
// enable static file serving
|
|
app.use(express.static('public'));
|
|
|
|
// load route handlers
|
|
const homeRoutes = require('./src/routes/home');
|
|
const itemRoutes = require('./src/routes/item');
|
|
const licenseRoutes = require('./src/routes/license');
|
|
|
|
// register route handlers
|
|
app.get('/', homeRoutes.getIndex);
|
|
app.get('/item/add', itemRoutes.getAdd);
|
|
app.post('/item/add', itemRoutes.postAdd);
|
|
app.get('/item/:id', itemRoutes.getItem);
|
|
app.get('/item/:id/edit', itemRoutes.getItemEdit);
|
|
app.post('/item/:id/edit', itemRoutes.postItemEdit);
|
|
app.get('/license/add', licenseRoutes.getAdd);
|
|
app.post('/license/add', licenseRoutes.postAdd);
|
|
app.get('/license/:id', licenseRoutes.getLicense);
|
|
app.get('/license/:id/edit', licenseRoutes.getEdit);
|
|
app.post('/license/:id/edit', licenseRoutes.postEdit);
|
|
|
|
// start app
|
|
app.listen(config.get('server.port'), config.get('server.address'), () => {
|
|
console.log(`Overseer is listening on port ${config.get('server.port')}.`);
|
|
});
|