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, };