Migrate _loadConfig to use ConfigManager.buildConfig()

Replaces manual base config construction with shared buildConfig() method.
Node now only specifies domain-specific config sections.

Part of #1: Extract base config schema

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Rene De Ren
2026-03-11 14:59:35 +01:00
parent 68576a8a36
commit aacbc1e99d

View File

@@ -1,4 +1,5 @@
const { Reactor_CSTR, Reactor_PFR } = require('./specificClass.js');
const { configManager } = require('generalFunctions');
class nodeClass {
@@ -70,20 +71,10 @@ class nodeClass {
* @param {object} uiConfig Config set in UI in node-red
*/
_loadConfig(uiConfig) {
this.config = {
general: {
name: uiConfig.name || this.name,
id: this.node.id,
unit: null,
logging: {
enabled: uiConfig.enableLog,
logLevel: uiConfig.logLevel
}
},
functionality: {
positionVsParent: uiConfig.positionVsParent || 'atEquipment', // Default to 'atEquipment' if not specified
softwareType: "reactor" // should be set in config manager
},
const cfgMgr = new configManager();
// Build config: base sections + reactor-specific domain config
this.config = cfgMgr.buildConfig('reactor', uiConfig, this.node.id, {
reactor_type: uiConfig.reactor_type,
volume: parseFloat(uiConfig.volume),
length: parseFloat(uiConfig.length),
@@ -107,7 +98,7 @@ class nodeClass {
parseFloat(uiConfig.X_TS_init)
],
timeStep: parseFloat(uiConfig.timeStep)
}
});
}
/**