portal-www
Version:
Nova Portal Website. Based on Next starter by Ueno
42 lines (30 loc) • 1.24 kB
text/typescript
const next = require('next');
import * as express from 'express';
import authentication from './middleware/authentication';
console.info(`Lauching portal on port ${process.env.PORT} in ${process.env.NODE_ENV}`); // eslint-disable-line
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();
app.prepare().then(() => {
const server = express();
server.use(express.json());
server.use(express.urlencoded({ extended: true }));
server.use('/audkenning', authentication);
server.get('/healthz', (_: express.Request, res: express.Response) => {
res.status(200).json({ message: 'Up and running' });
});
server.get('*', (req: express.Request, res: express.Response) => {
// Handle staff redirect to correct ssn if query contains ssn
if (req.query.ssn && !req.path.includes('/staff')) {
return res.redirect(
req.path.includes('?')
? `/${req.query.ssn}${req.path}&isStaff=true`
: `/${req.query.ssn}${req.path}?isStaff=true`,
);
}
return handle(req, res);
});
server.listen(process.env.PORT, () => {
console.info(`> Ready on http://localhost:${process.env.PORT}`); // eslint-disable-line
});
});