68 lines
1.8 KiB
JavaScript
68 lines
1.8 KiB
JavaScript
const dotenv = require('dotenv')
|
|
dotenv.config();
|
|
|
|
const express = require('express')
|
|
const cors = require('cors')
|
|
const morgan = require('morgan')
|
|
const app = express()
|
|
app.use(morgan('dev'))
|
|
|
|
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')
|
|
const { roles, memberRoles } = require('./routes/roles');
|
|
const morgan = require('morgan');
|
|
|
|
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('/roles', roles)
|
|
app.use('/memberRoles', memberRoles)
|
|
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} `)
|
|
})
|