-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
67 lines (57 loc) · 1.9 KB
/
server.js
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
58
59
60
61
62
63
64
65
66
67
const express = require('express');
const cors = require('cors');
const appRoute = require('./routes/appRoutes/appRoutes.js');
const imagesRoute = require('./routes/images/imagesRoute');
const vehicleUtils = require('./routes/appRoutes/vehicles/vehicleUtils.js');
const adminUtils = require('./services/admin/adminUtils.js');
const ioUtils = require('./services/sockets/ioUtils');
const slotSocketUtils = require('./services/sockets/slots/slotSocketUtils');
const userSocketUtils = require('./services/sockets/users/userSocketUtils');
const tokenUtils = require('./services/tokenUtils/tokenUtils.js');
const fileUtils = require('./services/fileUtils/fileUtils');
const app = express();
const SERVER_NAME=process.env.SERVER_NAME||'Default';
const PORT=process.env.PORT|| 5000;
const server=require('http').createServer(app);
// Sockets
const io = ioUtils.init(server);
//Adding services
app.use(cors());
app.use(express.json({
limit:'50mb'
}));
app.get("/", async (req, res) => {
try {
res.json("Running... this is the name : " + SERVER_NAME + ".");
}
catch (excp) {
console.log(excp);
res.json(excp);
}
});
app.use('/app', appRoute);
app.use('/images', imagesRoute);
server.listen(+PORT, () => {
console.log("Server is running...");
console.log(SERVER_NAME + " " + PORT);
vehicleUtils.init();
adminUtils.init();
fileUtils.initUploads();
});
io.use((socket, next)=>{
const token = socket.handshake.auth[tokenUtils.AUTHORIZATION_TOKEN];
const authData=tokenUtils.getData(token);
if(!authData){
console.log("Denying... 1");
socket.disconnect();
}
// Add it to user stream.
userSocketUtils.joinUserStream(socket, authData);
next();
});
io.on('connection', (socket) => {
socket.join("room123");
socket.on('CameraPosition-change', async function (data) {
slotSocketUtils.onChangeCameraPosition(socket, data);
});
});