curiousroamers/src/server/main.ts

48 lines
1.2 KiB
TypeScript

require('dotenv').config();
import express from 'express';
import path from 'path';
import flash from 'express-flash';
import session from 'express-session';
import cookieParser from 'cookie-parser';
import methodOverride from 'method-override';
import sequelize from './dbobject';
import {dbConnectAndInit} from './db';
import adminRouter from './routes/admin';
import blogRouter from './routes/blog';
import apiRouter from './routes/api';
const app = express();
dbConnectAndInit(sequelize);
app.set('view engine', 'ejs');
app.use(cookieParser());
app.use(express.urlencoded({extended: false}));
app.use(methodOverride('_method'));
app.use('/js', express.static(path.join(__dirname, '../../dist/client')));
app.use('/static', express.static(path.join(__dirname, '../../public')));
app.use(session({
cookie: {
maxAge: 60000,
httpOnly: true,
secure: false, // set this to true in production
},
secret: process.env.SESSION_SECRET!,
resave: false,
saveUninitialized: false,
}));
app.use(flash());
app.get('/', (_req, res) => {
res.render('index');
});
app.use('/admin', adminRouter);
app.use('/blog', blogRouter);
app.use('/api', apiRouter);
app.listen(3000);