raspi-back/app/routes/remotecontrol.js

34 lines
1.4 KiB
JavaScript

const { createRequest } = require("arangojs/lib/request.node");
const { verifyToken } = require("../checkToken");
const { addRouteToScope } = require("../scopes");
const { createToken, checkToken } = require("../verlikifyhandler");
const sourceList = require("./sourceslist")
const route = require("express").Router()
addRouteToScope("/remotecontrol/event", "remotecontrol")
addRouteToScope("/remotecontrol", "remotecontrol")
route.get("/", verifyToken, (req, res) => {
res.json(sourceList.getAddresses())
})
route.post("/event", verifyToken, (req, res) => {
//console.log(req.body.message, req.body.address);
switch(req.body.message.split(" ")[0]){
case "cmd01":
let token = createToken(req.tokendata.id, ["files", req.body.message.split(" ").slice(1).join(" ").replace(/%2f/g, "/").replace("//", "/")])
console.log(token)
while(!checkToken(token, []).valid){
console.log("error creating token, trying again")
token = createToken(req.tokendata.id, ["files", req.body.message.split(" ").slice(1).join(" ").replace(/%2f/g, "/").replace("//", "/")])
}
sourceList.addSource(req.body.message.split(" ").slice(1).join(" ")+"?token="+token, req.body.address)
break;
case "cmd02":
sourceList.removeSource(req.body.message.split(" ").slice(1).join(" "), req.body.address)
break;
}
res.end()
})
module.exports = route