diff --git a/server.cjs b/server.cjs index 906847e..8fbeeb0 100644 --- a/server.cjs +++ b/server.cjs @@ -430,8 +430,52 @@ app.get("/trigger/api/wolClients", async (req, res) => { }); app.post("/trigger/api/wolClients", async (req, res) => { - wol.wake(req.body.selectedClient.macAddress, () => { - res.status(200).send(rows); + const conn = await pool.getConnection(); + const query = `INSERT INTO trigger_database.wolClients (hostname, macAddress) VALUES ('${sqlEscape(req.body.hostname)}', '${sqlEscape(req.body.macAddress)}')`; + conn + .query(query) + .then((rows) => { + res.status(200).send({ status: "success" }); + }) + .catch((err) => { + console.log(err); + res.status(500).send({ error: err }); + }); + conn.end(); +}); + +app.patch("/trigger/api/wolClients", async (req, res) => { + const conn = await pool.getConnection(); + const query = `UPDATE trigger_database.wolClients SET hostname = '${sqlEscape(req.body.hostname)}', macAddress = '${sqlEscape(req.body.macAddress)}' WHERE id = '${req.body.id}'`; + conn + .query(query) + .then((rows) => { + res.status(200).send({ status: "success" }); + }) + .catch((err) => { + console.log(err); + res.status(500).send({ error: err }); + }); + conn.end(); +}); + +app.delete("/trigger/api/wolClients", async (req, res) => { + const conn = await pool.getConnection(); + const query = `DELETE FROM trigger_database.wolClients WHERE id = '${req.body.id}'`; + conn + .query(query) + .then((rows) => { + res.status(200).send({ status: "success" }); + }) + .catch((err) => { + res.status(500).send({ error: err }); + }); + conn.end(); +}); + +app.post("/trigger/api/wakeClient", async (req, res) => { + wol.wake(req.body.macAddress, () => { + res.status(200).send({ status: "success" }); }); });