| Total Complexity | 4 |
| Complexity/F | 1 |
| Lines of Code | 43 |
| Function Count | 4 |
| Duplicated Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | import sirv from 'sirv'; |
||
| 2 | import express from 'express'; |
||
| 3 | import compression from 'compression'; |
||
| 4 | import cookieParser from 'cookie-parser'; |
||
| 5 | import * as sapper from '@sapper/server'; |
||
| 6 | import { guard } from '@beyonk/sapper-rbac'; |
||
| 7 | import routes from './routes'; |
||
| 8 | import authMiddleware from './middlewares/auth'; |
||
| 9 | import './i18n'; |
||
| 10 | |||
| 11 | const { PORT, NODE_ENV } = process.env; |
||
| 12 | const dev = NODE_ENV === 'development'; |
||
| 13 | const app = express(); |
||
| 14 | |||
| 15 | app |
||
| 16 | .use( |
||
| 17 | cookieParser(), |
||
| 18 | compression({ threshold: 0 }), |
||
| 19 | sirv('static', { dev }), |
||
| 20 | authMiddleware, |
||
| 21 | (req, res, next) => { |
||
| 22 | const { user } = req; |
||
| 23 | const options = { |
||
| 24 | routes, |
||
| 25 | deny: () => { |
||
| 26 | res.redirect('/login'); |
||
| 27 | return res.end(); |
||
| 28 | }, |
||
| 29 | grant: () => { |
||
| 30 | return sapper.middleware({ |
||
| 31 | session: () => { |
||
| 32 | return { |
||
| 33 | user, |
||
| 34 | }; |
||
| 35 | }, |
||
| 36 | })(req, res, next); |
||
| 37 | }, |
||
| 38 | }; |
||
| 39 | |||
| 40 | return guard(req.path, user, options); |
||
| 41 | } |
||
| 42 | ) |
||
| 43 | .listen(PORT); |
||
| 44 |