-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
87 lines (78 loc) · 2.49 KB
/
server.js
File metadata and controls
87 lines (78 loc) · 2.49 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
require('dotenv').config();
const express = require('express');
const app = express();
const cors = require('cors');
const http = require('http').Server(app);
const io = require('socket.io')(http);
const bodyParser = require('body-parser');
const _DB_CONNECTION = require('./controller/db_connect');
const {auth} = require('express-openid-connect');
const session = require('express-session');
const cookieParser = require('cookie-parser');
// API Director
const API_DIRECTOR = require('./api/api_director');
const authRouter = require('./api/auth');
// PORT for the server
const SERVER_PORT = process.env.PORT || 8080;
// session
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: false }
}));
app.use(cookieParser());
// app.use(cors(
// {
// origin: 'http://localhost:3000',
// credentials: true,
// optionsSuccessStatus: 200,
// methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
// preflightContinue: false,
// optionsSuccessStatus: 204,
// }
// ));
app.use(express.json());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// app.use(auth({
// authRequired: false,
// auth0Logout: true,
// secret: process.env.SECRET,
// issuerBaseURL: process.env.ISSUER_BASE_URL,
// clientID: process.env.CLIENT_ID,
// clientSecret: process.env.CLIENT_SECRET
// }));
app.use( '/public' , express.static(__dirname + '/public'));
app.get('/', (req, res)=>{
res.sendFile(__dirname + '/views/index.html');
});
app.get('/Documentation', (req, res) => {
res.sendFile(__dirname + '/views/api-documentation.html');
});
app.use(API_DIRECTOR);
let tokenNumber = 1;
let uniqueNum = "OQ230000002";
let queue = [];
http.listen(SERVER_PORT, () => {
_DB_CONNECTION.connection.on('connected', () => {
console.log(`Mongoose is connected to MongoDb Atlas`);
});
_DB_CONNECTION.connection.on('error', (err) => {
console.error(`Mongoose connection error: ${err}`);
});
console.log(`Server is running on port ${SERVER_PORT}`);
io.on("connection", () =>{
console.log("A token is booked!");
let newId = uniqueNum + '#' + tokenNumber;
queue.push(newId);
// Enter the person inside a queue and emit queue
io.emit("queue", tokenNumber++);
});
io.on("disconnect", () =>{
queue.pop_front();
console.log("Token Served!");
tokenNumber--;
io.emit("queue", tokenNumber);
} );
});