Files
watchparty/functions/modules/app.js
T
2020-09-01 22:27:52 -04:00

67 lines
1.8 KiB
JavaScript

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;