summaryrefslogtreecommitdiffstats
path: root/server/api/configloader.js
diff options
context:
space:
mode:
authorChristian Hofmaier2018-08-20 19:15:11 +0200
committerChristian Hofmaier2018-08-20 19:15:11 +0200
commit07b07544c65a2d0154a71bedaf8f02a6275ccee0 (patch)
tree91f07f65c0175bbda99a801e5882e22e58d5e864 /server/api/configloader.js
parent[tftp] Remove tftp (diff)
downloadbas-07b07544c65a2d0154a71bedaf8f02a6275ccee0.tar.gz
bas-07b07544c65a2d0154a71bedaf8f02a6275ccee0.tar.xz
bas-07b07544c65a2d0154a71bedaf8f02a6275ccee0.zip
[configloader] add configloader
loads default config or first registration config for testing purposes of first registration of clients
Diffstat (limited to 'server/api/configloader.js')
-rw-r--r--server/api/configloader.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/server/api/configloader.js b/server/api/configloader.js
new file mode 100644
index 0000000..d56027e
--- /dev/null
+++ b/server/api/configloader.js
@@ -0,0 +1,19 @@
+/* global __appdir */
+const path = require('path')
+var db = require(path.join(__appdir, 'lib', 'sequelize'))
+var express = require('express')
+var noAuthRouter = express.Router()
+
+// if client in db -> load default script, else load registration script
+noAuthRouter.get('/:uuid/ipxescirpt', (req, res) => {
+ const uuid = req.params.uuid
+ res.setHeader('content-type', 'text/plain')
+
+ db.client.findOne({ where: {uuid: uuid} }).then(client => {
+ if (client !== null) {
+ res.sendFile(path.join(__appdir, 'ipxe', 'default.ipxe'))
+ } else {
+ res.sendFile(path.join(__appdir, 'ipxe', 'registration.ipxe'))
+ }
+ })
+})