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;