fix(app/metrics): no default value for presets

This commit is contained in:
lowlighter
2022-01-25 23:04:34 -05:00
parent c163f2edcb
commit 872887d68d

View File

@@ -228,7 +228,7 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) {
key,
{
comment:comments[key] ?? `# ${value.description}`,
descriptor:yaml.dump({[key]:Object.fromEntries(Object.entries(value).filter(([key]) => ["description", "default", "required"].includes(key)).map(([k, v]) => k === "description" ? [k, v.split("\n")[0]] : k === "default" ? [k, /^\$\{\{[\s\S]+\}\}$/.test(v) ? v : "<default-value>"] : [k, v]))}, {quotingType:'"', noCompatMode:true}),
descriptor:yaml.dump({[key]:Object.fromEntries(Object.entries(value).filter(([key]) => ["description", "default", "required"].includes(key)).map(([k, v]) => k === "description" ? [k, v.split("\n")[0]] : k === "default" ? [k, (/^\$\{\{[\s\S]+\}\}$/.test(v))||(k === "config_preset") ? v : "<default-value>"] : [k, v]))}, {quotingType:'"', noCompatMode:true}),
},
]),
)
@@ -244,24 +244,23 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) {
value = decodeURIComponent(value)
}
catch {
console.debug(`metrics/inputs > failed to decode uri for ${key}`)
logger(`metrics/inputs > failed to decode uri for ${key}: ${value}`)
value = "<default-value>"
}
const unspecified = value === "<default-value>"
//From presets
if ((key in preset)&&(unspecified)) {
console.debug(`metrics/inputs > ${key} has been set by preset value`)
logger(`metrics/inputs > ${key} has been set by preset value`)
q[key] = preset[key]
}
//From defaults
else if (unspecified) {
console.debug(`metrics/inputs > ${key} has been set by default value`)
logger(`metrics/inputs > ${key} has been set by default value`)
q[key] = metadata.inputs[key]?.default
}
//From user
else {
console.debug(`metrics/inputs > ${key} has been set by user`)
logger(`metrics/inputs > ${key} has been set by user`)
q[key] = value
}
}