Files
milsim-site-v4/api/index.js

63 lines
1.6 KiB
JavaScript

const dotenv = require('dotenv')
dotenv.config();
const express = require('express')
const cors = require('cors')
const app = express()
app.use(cors({
origin: ['https://aj17thdev.nexuszone.net', 'http://localhost:5173'], // your SPA origins
credentials: true
}));
app.use(express.json())
app.set('trust proxy', 1);
const port = process.env.SERVER_PORT;
//session setup
const path = require('path')
const session = require('express-session')
const passport = require('passport')
const SQLiteStore = require('connect-sqlite3')(session);
app.use(session({
secret: 'whatever',
resave: false,
saveUninitialized: false,
store: new SQLiteStore({ db: 'sessions.db', dir: './' }),
cookie: {
httpOnly: true,
sameSite: 'lax',
domain: 'nexuszone.net'
}
}));
app.use(passport.authenticate('session'));
// Mount route modules
const applicationsRouter = require('./routes/applications');
const { memberRanks, ranks } = require('./routes/ranks');
const members = require('./routes/members');
const loaHandler = require('./routes/loa')
const { status, memberStatus } = require('./routes/statuses')
const authRouter = require('./routes/auth')
app.use('/application', applicationsRouter);
app.use('/ranks', ranks);
app.use('/memberRanks', memberRanks);
app.use('/members', members);
app.use('/loa', loaHandler);
app.use('/status', status)
app.use('/memberStatus', memberStatus)
app.use('/', authRouter)
app.get('/ping', (req, res) => {
res.status(200).json({ message: 'pong' });
});
app.listen(port, () => {
console.log(`Example app listening on port ${port} `)
})