@@ -3,7 +3,11 @@ if (process.env.NODE_ENV !== "production") {
3
3
}
4
4
const express = require ( "express" ) ;
5
5
const rateLimit = require ( "express-rate-limit" ) ;
6
+ const unless = require ( "express-unless" ) ;
7
+
6
8
const expressLayouts = require ( "express-ejs-layouts" ) ;
9
+ expressLayouts . unless = unless ;
10
+
7
11
const bodyParser = require ( "body-parser" ) ;
8
12
9
13
// database
@@ -32,23 +36,40 @@ app.use(limiter);
32
36
// body limit
33
37
app . use ( express . json ( { limit : "10kb" } ) ) ;
34
38
39
+ app . set ( "view engine" , "ejs" ) ;
40
+ app . set ( "views" , __dirname + "/views" ) ;
41
+ app . use ( bodyParser . urlencoded ( { extended : true } ) ) ;
42
+ app . use ( express . static ( "public" ) ) ;
43
+ app . use (
44
+ expressLayouts . unless ( {
45
+ path : [ / \/ b u l l - b o a r d * / ] ,
46
+ } )
47
+ ) ;
48
+
35
49
// background
36
50
if ( process . env . BACKGROUND == true ) {
37
51
const { bullBoardServerAdapter } = require ( "./background" ) ;
38
- app . use ( "/bull-board" , bullBoardServerAdapter . getRouter ( ) ) ;
52
+ const { ensureLoggedIn } = require ( "connect-ensure-login" ) ;
53
+ const passport = require ( "passport" ) ;
54
+ const session = require ( "express-session" ) ;
55
+ app . use ( session ( { secret : process . env . SESSION_SECRET } ) ) ;
56
+ app . use ( passport . initialize ( { } ) ) ;
57
+ app . use ( passport . session ( { } ) ) ;
58
+ const authRouter = require ( "./routes/auth" ) ;
59
+ app . use ( "/login" , authRouter ) ;
60
+ app . use (
61
+ "/bull-board" ,
62
+ ensureLoggedIn ( "/login" ) ,
63
+ bullBoardServerAdapter . getRouter ( )
64
+ ) ;
39
65
console . info ( "BACKGROUND is up." ) ;
40
66
}
41
67
42
68
// web
43
69
if ( process . env . WEB == true ) {
44
- const webRouter = require ( "./web" ) ;
45
- app . set ( "view engine" , "ejs" ) ;
46
- app . set ( "views" , __dirname + "/views" ) ;
47
70
app . set ( "layout" , "layouts/layout" ) ;
48
71
app . set ( "layout extractScripts" , true ) ;
49
- app . use ( expressLayouts ) ;
50
- app . use ( bodyParser . urlencoded ( { extended : true } ) ) ;
51
- app . use ( express . static ( "public" ) ) ;
72
+ const webRouter = require ( "./web" ) ;
52
73
app . use ( "/" , webRouter ) ;
53
74
console . info ( "WEB is up." ) ;
54
75
}
@@ -69,6 +90,13 @@ if (!process.env.API_DISABLED) {
69
90
console . info ( "API is up." ) ;
70
91
}
71
92
93
+ // 404 page
94
+ app . use ( ( req , res ) => {
95
+ res . status ( 404 ) . render ( "errors/404" , {
96
+ title : "404 Not Found" ,
97
+ } ) ;
98
+ } ) ;
99
+
72
100
const port = process . env . PORT || 8080 ;
73
101
74
102
app . listen ( port , ( err ) => {
0 commit comments