Files
watchparty/functions/app.js
T
2020-08-15 18:02:04 -04:00

50 lines
1.8 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);
admin.post("/updateVideoNameSelectors", AdminModules.updateVideoNameSelectors);
admin.post("/sendMessage", AdminModules.sendMessage);
module.exports = {
v1: app,
webhooks,
admin,
};