summaryrefslogtreecommitdiffstats
path: root/server/api
diff options
context:
space:
mode:
authorUdo Walter2019-11-27 18:20:15 +0100
committerUdo Walter2019-11-27 18:20:15 +0100
commitf28f21b2f67f5e152e6e9d13814150a4adf316c7 (patch)
tree263c88400d5061d0660cde0f20b44ceeefcabaa3 /server/api
parent[server/external-backends/infoblox] Add infoblox fix for a client registratio... (diff)
downloadbas-f28f21b2f67f5e152e6e9d13814150a4adf316c7.tar.gz
bas-f28f21b2f67f5e152e6e9d13814150a4adf316c7.tar.xz
bas-f28f21b2f67f5e152e6e9d13814150a4adf316c7.zip
[configloader] bugfixes in the beta configloader:
add hook sources correct handeling of multiple sources remove merging of multiple sources with the same config
Diffstat (limited to 'server/api')
-rw-r--r--server/api/configloader.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/server/api/configloader.js b/server/api/configloader.js
index ba395d0..dc3a29d 100644
--- a/server/api/configloader.js
+++ b/server/api/configloader.js
@@ -7,10 +7,12 @@ var noAuthRouter = decorateApp(express.Router())
const config = require(path.join(__appdir, 'config', 'config'))
const url = config.https.host + ':' + config.https.port
const configHelper = require(path.join(__appdir, 'lib', 'confighelper'))
+const log = require(path.join(__appdir, 'lib', 'log'))
noAuthRouter.getAsync(['/test/group/:id', '/test/group/'], async (req, res) => {
const list = req.query.list !== undefined && req.query.list !== 'false'
- const config = await configHelper.getGroupConfig(req.params.id, list)
+ const group = await db.group.findOne({ where: { id: req.params.id } })
+ const config = await configHelper.getGroupConfig(group, list)
if (!config) return res.status(404).end()
if (!list) {
res.set('Content-Type', 'text/plain')
@@ -22,8 +24,18 @@ noAuthRouter.getAsync(['/test/group/:id', '/test/group/'], async (req, res) => {
noAuthRouter.getAsync(['/test/:uuid', '/test/'], async (req, res) => {
const list = req.query.list !== undefined && req.query.list !== 'false'
- const config = await configHelper.getConfig(req.params.uuid, list)
+ const client = await db.client.findOne({ where: { uuid: req.params.uuid } })
+ const config = await configHelper.getConfig(client, list)
if (!list) {
+ const logEntry = {
+ category: 'CLIENT_BOOT',
+ description: 'Client booted iPXE config [' + config.id + '] ' + config.name + '.\n' +
+ 'Client UUID: ' + req.params.uuid + '\n' +
+ 'Config ID: ' + config.id + '\n' +
+ 'Config Name: ' + config.name,
+ }
+ if (client) logEntry.clientId = client.id
+ log(logEntry)
res.set('Content-Type', 'text/plain')
res.send(config.script)
} else {
@@ -125,7 +137,7 @@ noAuthRouter.getAsync('/:uuid', async (req, res) => {
}
// No config found, use default config
// await sendFilePromise(res, path.join(__appdir, 'ipxe', 'default.ipxe'))
- res.send(await configHelper.getDefaultConfig(client))
+ res.send(configHelper.getDefaultConfig(client))
})
// load config by given id