changed rules property to be stored as a JSON string
This commit is contained in:
@@ -65,7 +65,15 @@ module.exports = function (RED) {
|
||||
const node = this;
|
||||
|
||||
node.action = config.action || "subscribe";
|
||||
node.rules = Array.isArray(config.rules) ? config.rules : [];
|
||||
let storedRules = config.rules;
|
||||
if (typeof storedRules === "string") {
|
||||
try {
|
||||
storedRules = JSON.parse(storedRules);
|
||||
} catch (e) {
|
||||
storedRules = [];
|
||||
}
|
||||
}
|
||||
node.rules = Array.isArray(storedRules) ? storedRules : [];
|
||||
node.transport = config.transport || "TCP";
|
||||
node.connectionConfig = RED.nodes.getNode(config.connection);
|
||||
|
||||
@@ -78,7 +86,17 @@ module.exports = function (RED) {
|
||||
done = done || function () {};
|
||||
|
||||
const action = normaliseAction(msg.action || node.action);
|
||||
const rules = Array.isArray(msg.rules) ? msg.rules : node.rules;
|
||||
let rules = msg.rules || node.rules;
|
||||
if (typeof rules === "string") {
|
||||
try {
|
||||
rules = JSON.parse(rules);
|
||||
} catch (e) {
|
||||
rules = [];
|
||||
}
|
||||
}
|
||||
if (!Array.isArray(rules)) {
|
||||
rules = [];
|
||||
}
|
||||
|
||||
const transport =
|
||||
typeof msg.transport === "string" && msg.transport.trim().length
|
||||
|
||||
Reference in New Issue
Block a user