forked from humancto/CollabCode
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
Latest commit
57 lines (48 loc) · 1.77 KB
/
Copy pathserver.js
File metadata and controls
57 lines (48 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
require('dotenv').config();
constpath=require('path');
constexpress=require('express');
constcookieParser=require('cookie-parser');
constapp=express();
constport=process.env.PORT||3000;
app.set('trust proxy',1);
app.use(express.json({limit: '256kb'}));
app.use(express.urlencoded({extended: false}));
app.use(cookieParser());
constroutes={
'/api/auth/login': ()=>require('./api/auth/login'),
'/api/auth/verify': ()=>require('./api/auth/verify'),
'/api/auth/logout': ()=>require('./api/auth/logout'),
'/api/auth/reset-password': ()=>require('./api/auth/reset-password'),
'/api/auth/update-password': ()=>require('./api/auth/update-password'),
'/api/sessions/create': ()=>require('./api/sessions/create'),
'/api/firebase-config.js': ()=>require('./api/firebase-config'),
'/api/code/execute': ()=>require('./api/code/execute'),
'/api/interview/templates': ()=>require('./api/interview/templates'),
'/api/admins': ()=>require('./api/admins'),
'/api/activity/save': ()=>require('./api/activity/save'),
'/api/slack/send': ()=>require('./api/slack/send'),
'/api/check-duplicate-login': ()=>require('./api/check-duplicate-login'),
'/api/track-session': ()=>require('./api/track-session')
};
for(const[route,getHandler]ofObject.entries(routes)){
app.all(route,(req,res,next)=>{
try{
returngetHandler()(req,res);
}catch(error){
returnnext(error);
}
});
}
app.get('/healthz',(_req,res)=>{
res.json({ok: true});
});
conststaticRoot=process.env.VERCEL
? path.join(__dirname,'public')
: __dirname;
app.use(express.static(staticRoot,{
index: 'app.html',
dotfiles: 'deny'
}));
app.listen(port,'0.0.0.0',()=>{
console.log(`OpenCollab listening on port ${port}`);
});