const express = require('express'); const cors = require('cors'); require('https').globalAgent.keepAlive = true; let authenticator; let tokenValidator; let tokenRefresher; let createRoom; let joinRoom; let sendMessage; let updatePlayer; let updateVoxeet; let leaveRoom; let deleteRoom; let updateAdminOnly; // VERSION 1 const app = express(); app.use(cors({ origin: true })); app.use((req, res, next) => { if (!authenticator) authenticator = require('./authenticator'); authenticator(req, res, next); }); app.get('/validator/:partyName', (req, res) => { if (!tokenValidator) tokenValidator = require('./tokenValidator'); tokenValidator(req, res); }); app.get('/refresher/:token', (req, res) => { if (!tokenRefresher) tokenRefresher = require('./tokenRefresher'); tokenRefresher(req, res); }); app.post('/create', (req, res) => { if (!createRoom) createRoom = require('./createRoom'); createRoom(req, res); }); app.post('/join', (req, res) => { if (!joinRoom) joinRoom = require('./joinRoom'); joinRoom(req, res); }); app.post('/message', (req, res) => { if (!sendMessage) sendMessage = require('./sendMessage'); sendMessage(req, res); }); app.post('/updatePlayer', (req, res) => { if (!updatePlayer) updatePlayer = require('./updatePlayer'); updatePlayer(req, res); }); app.post('/updateVoxeet', (req, res) => { if (!updateVoxeet) updateVoxeet = require('./updateVoxeet'); updateVoxeet(req, res); }); app.delete('/leave/:rid/users/:uid', (req, res) => { if (!leaveRoom) leaveRoom = require('./leaveRoom'); leaveRoom(req, res); }); app.delete('/delete/:rid', (req, res) => { if (!deleteRoom) deleteRoom = require('./deleteRoom'); deleteRoom(req, res); }); app.put('/updateAdminOnly/:rid/:adminOnly', (req, res) => { if (!updateAdminOnly) updateAdminOnly = require('./updateAdminOnly'); updateAdminOnly(req, res); }); module.exports = app;