summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorUdo Walter2019-04-11 19:26:16 +0200
committerUdo Walter2019-04-11 19:26:16 +0200
commitcc64f6afae242049b81954c2408ee67508ad5e84 (patch)
treeabd62cf4d668ee7bf0d14bfec5d9065142dd7f21 /server
parent[server/external-backends] Fix dhcp registration stuff (diff)
downloadbas-cc64f6afae242049b81954c2408ee67508ad5e84.tar.gz
bas-cc64f6afae242049b81954c2408ee67508ad5e84.tar.xz
bas-cc64f6afae242049b81954c2408ee67508ad5e84.zip
[groups] add button to wake clients via
Diffstat (limited to 'server')
-rw-r--r--server/api/wakerequests.js17
-rw-r--r--server/package-lock.json5
-rw-r--r--server/package.json1
3 files changed, 23 insertions, 0 deletions
diff --git a/server/api/wakerequests.js b/server/api/wakerequests.js
new file mode 100644
index 0000000..51e49d8
--- /dev/null
+++ b/server/api/wakerequests.js
@@ -0,0 +1,17 @@
+/* global __appdir */
+var path = require('path')
+var db = require(path.join(__appdir, 'lib', 'sequelize'))
+var wol = require('node-wol')
+var express = require('express')
+const { decorateApp } = require('@awaitjs/express')
+var router = decorateApp(express.Router())
+
+router.postAsync('', async (req, res) => {
+ const clients = await db.client.findAll({ where: { id: req.body.clients } })
+ clients.forEach(client => {
+ wol.wake(client.mac, { address: client.ip.slice(0, client.ip.lastIndexOf('.') + 1) + '255' }, err => {})
+ })
+ res.status(200).end()
+})
+
+module.exports.router = router
diff --git a/server/package-lock.json b/server/package-lock.json
index ac6d4bb..204a361 100644
--- a/server/package-lock.json
+++ b/server/package-lock.json
@@ -2715,6 +2715,11 @@
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.4.0.tgz",
"integrity": "sha512-YoviGBJYGrPdLOKDIQB0sKxuKy/EEsxzooNkOZak4vSTKT/qH0Pa6dj3t1MJjEQGsefih61IyHDmO1WW7xOFfw=="
},
+ "node-wol": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/node-wol/-/node-wol-0.1.1.tgz",
+ "integrity": "sha1-m+F/6LeZxeAKaq1ciTb0NoTl6D0="
+ },
"nodemailer": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.7.0.tgz",
diff --git a/server/package.json b/server/package.json
index f74c083..9684ea1 100644
--- a/server/package.json
+++ b/server/package.json
@@ -20,6 +20,7 @@
"morgan": "^1.9.1",
"mysql": "^2.16.0",
"mysql2": "^1.6.5",
+ "node-wol": "^0.1.1",
"nodemailer": "^4.7.0",
"secure-password": "^3.1.0",
"sequelize": "^4.43.0",