fix: add missing migrateConfig method, config versioning, and formatters module

ConfigManager.migrateConfig() was called but never defined — would crash at runtime.
Added config version checking, migration support, and fixed createEndpoint indentation.
New formatters module (csv, influxdb, json) for pluggable output formatting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Rene De Ren
2026-03-12 09:33:22 +01:00
parent 7e40ea0797
commit 31928fd124
5 changed files with 209 additions and 20 deletions

View File

@@ -0,0 +1,22 @@
/**
* InfluxDB formatter
* Produces the structured object expected by Node-RED InfluxDB nodes:
* { measurement, fields, tags, timestamp }
*
* @param {string} measurement - The measurement name (e.g. node name)
* @param {object} metadata - { fields, tags }
* - fields: key/value pairs of changed data points
* - tags: flat key/value string pairs (InfluxDB tags)
* @returns {string|object} Formatted payload (object for InfluxDB)
*/
function format(measurement, metadata) {
const { fields, tags } = metadata;
return {
measurement: measurement,
fields: fields,
tags: tags || {},
timestamp: new Date(),
};
}
module.exports = { format };