34 lines
1.4 KiB
JavaScript
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
|