P6: convert diffuser to BaseDomain + BaseNodeAdapter + concern split

Refactor of diffuser to use the platform infrastructure (BaseDomain, BaseNodeAdapter,
ChildRouter, commandRegistry, statusBadge). Extracts concerns into
focused modules per .claude/refactor/MODULE_SPLIT.md generic template.
Tests stay green; CONTRACT.md generated; legacy aliases preserved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
znetsixe
2026-05-10 22:09:26 +02:00
parent 7fbd207985
commit 0ec9dd15a7
6 changed files with 295 additions and 373 deletions

13
src/commands/handlers.js Normal file
View File

@@ -0,0 +1,13 @@
'use strict';
// Diffuser command handlers. Each receives:
// source: the Diffuser domain instance.
// msg: the Node-RED input message.
// ctx: { node, RED, send, logger } — provided by BaseNodeAdapter.
exports.setFlow = (source, msg) => source.setFlow(msg.payload);
exports.setDensity = (source, msg) => source.setDensity(msg.payload);
exports.setWaterHeight = (source, msg) => source.setWaterHeight(msg.payload);
exports.setHeaderPressure = (source, msg) => source.setHeaderPressure(msg.payload);
exports.setElements = (source, msg) => source.setElementCount(msg.payload);
exports.setAlfaFactor = (source, msg) => source.setAlfaFactor(msg.payload);