Files
watchparty/functions/app.js
T
2020-08-15 11:45:50 -04:00

44 lines
1.6 KiB
JavaScript

const FunctionModules = require('./modules/index');
const Webhooks = require('./webhooks/index');
const AdminModules = require('./admin/index');
const express = require('express');
const cors = require('cors');
// WEBHOOKS
const webhooks = express();
webhooks.use(cors({ origin: true }));
webhooks.all('/conferenceEnded', Webhooks.conferenceEnd);
webhooks.all('/scheduledCleanup', Webhooks.scheduledCleanUp);
webhooks.all('/ask', Webhooks.ask);
webhooks.all('/userCleanUp', Webhooks.userCleanUp);
// VERSION 1
const app = express();
app.use(cors({ origin: true }));
app.use(FunctionModules.authenticator);
app.get('/validator/:partyName', FunctionModules.tokenValidator);
app.get('/refresher/:token', FunctionModules.tokenRefresher);
app.post('/create', FunctionModules.createRoom);
app.post('/join', FunctionModules.joinRoom);
app.post('/message', FunctionModules.sendMessage);
app.post('/updatePlayer', FunctionModules.updatePlayer);
app.post('/updateVoxeet', FunctionModules.updateVoxeet);
app.delete('/leave/:rid/users/:uid', FunctionModules.leaveRoom);
app.delete('/delete/:rid', FunctionModules.deleteRoom);
app.put('/updateAdminOnly/:rid/:adminOnly', FunctionModules.updateAdminOnly);
// ADMIN
const admin = express();
admin.use(cors({ origin: ['http://localhost:3000', 'https://admin.chromewatchparty.com/*'] }));
admin.use(AdminModules.superAuth);
admin.get('/partyDashboard', AdminModules.partyDashboard);
admin.get('/serverDashboard', AdminModules.serverDashboard);
admin.post('/updateVersionActive', AdminModules.updateVersionActive);
admin.post('/updateVideoSelectors', AdminModules.updateVideoSelectors);
module.exports = {
v1: app,
webhooks,
admin,
};