diff --git a/index.js b/index.js index a7c694f..1149ebd 100644 --- a/index.js +++ b/index.js @@ -38,7 +38,7 @@ app.post("/api/disk/detach", async (req, res) => { if (auth) { let method = req.body.type === "qemu" ? "POST" : "PUT"; let result = await requestPVE(`${vmpath}/config`, method, req.cookies, req.body.action, pveAPIToken); - await handleResponse(req.body.node, result); + result = await handleResponse(req.body.node, result); res.send({auth: auth, status: result.status, data: result.data.data}); } else { @@ -53,7 +53,7 @@ app.post("/api/disk/attach", async (req, res) => { if (auth) { let method = req.body.type === "qemu" ? "POST" : "PUT"; let result = await requestPVE(`${vmpath}/config`, method, req.cookies, req.body.action, pveAPIToken); - await handleResponse(req.body.node, result); + result = await handleResponse(req.body.node, result); res.send({auth: auth, status: result.status, data: result.data.data}); } else { @@ -68,7 +68,7 @@ app.post("/api/disk/resize", async (req, res) => { if (auth) { let method = "PUT"; let result = await requestPVE(`${vmpath}/resize`, method, req.cookies, req.body.action, pveAPIToken); - await handleResponse(req.body.node, result); + result = await handleResponse(req.body.node, result); res.send({auth: auth, status: result.status, data: result.data.data}); } else { @@ -84,7 +84,7 @@ app.post("/api/disk/move", async (req, res) => { if (auth) { let method = "POST"; let result = await requestPVE(`${vmpath}/${route}`, method, req.cookies, req.body.action, pveAPIToken); - await handleResponse(req.body.node, result); + result = await handleResponse(req.body.node, result); res.send({auth: auth, status: result.status, data: result.data.data}); } else { @@ -99,7 +99,7 @@ app.post("/api/disk/delete", async (req, res) => { if (auth) { let method = req.body.type === "qemu" ? "POST" : "PUT"; let result = await requestPVE(`${vmpath}/config`, method, req.cookies, req.body.action, pveAPIToken); - await handleResponse(req.body.node, result); + result = await handleResponse(req.body.node, result); res.send({auth: auth, status: result.status, data: result.data.data}); } else { @@ -162,10 +162,10 @@ async function handleResponse (node, response) { while (true) { let taskStatus = await requestPVE(`/nodes/${node}/tasks/${upid}/status`, "GET", null, null, pveAPIToken); if (taskStatus.data.data.status === "stopped" && taskStatus.data.data.exitStatus === "OK") { - return true; + return taskStatus; } else if (taskStatus.data.data.status === "stopped") { - return false; + return taskStatus; } else { await waitFor(1000); @@ -173,7 +173,7 @@ async function handleResponse (node, response) { } } else { - return true; + return response; } }