mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Finalise nodeSettings and update tlsConfigDisableLocalFiles
- increase test coverage around registerType
This commit is contained in:
@@ -24,7 +24,7 @@ var flows = require("./flows");
|
||||
var flowUtil = require("./flows/util")
|
||||
var context = require("./context");
|
||||
var Node = require("./Node");
|
||||
var log = require("../log");
|
||||
var log = null;
|
||||
var library = require("./library");
|
||||
|
||||
var events = require("../events");
|
||||
@@ -55,7 +55,11 @@ function registerType(nodeSet,type,constructor,opts) {
|
||||
credentials.register(type,opts.credentials);
|
||||
}
|
||||
if (opts.settings) {
|
||||
settings.registerNodeSettings(type,opts.settings);
|
||||
try {
|
||||
settings.registerNodeSettings(type,opts.settings);
|
||||
} catch(err) {
|
||||
log.warn("["+type+"] "+err.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
registry.registerType(nodeSet,type,constructor);
|
||||
@@ -90,6 +94,7 @@ function createNode(node,def) {
|
||||
|
||||
function init(runtime) {
|
||||
settings = runtime.settings;
|
||||
log = runtime.log;
|
||||
credentials.init(runtime);
|
||||
flows.init(runtime);
|
||||
registry.init(runtime);
|
||||
|
@@ -106,19 +106,15 @@ var persistentSettings = {
|
||||
storage = null;
|
||||
},
|
||||
registerNodeSettings: function(type, opts) {
|
||||
try {
|
||||
for (var property in opts) {
|
||||
if (opts.hasOwnProperty(property)) {
|
||||
var normalisedType = util.normaliseNodeTypeName(type);
|
||||
if (!property.startsWith(normalisedType)) {
|
||||
throw new Error("The name of node setting property " + property + " must start with \"" + normalisedType + "\" (case sensitive).");
|
||||
}
|
||||
var normalisedType = util.normaliseNodeTypeName(type);
|
||||
for (var property in opts) {
|
||||
if (opts.hasOwnProperty(property)) {
|
||||
if (!property.startsWith(normalisedType)) {
|
||||
throw new Error("Registered invalid property name '"+property+"'. Properties for this node must start with '"+normalisedType+"'");
|
||||
}
|
||||
}
|
||||
nodeSettings[type] = opts;
|
||||
} catch (err) {
|
||||
console.log(err.toString());
|
||||
}
|
||||
nodeSettings[type] = opts;
|
||||
},
|
||||
exportNodeSettings: function(safeSettings) {
|
||||
safeSettings["nodeSettings"] = {};
|
||||
@@ -131,7 +127,7 @@ var persistentSettings = {
|
||||
if (setting.exportable) {
|
||||
if (userSettings.hasOwnProperty(property)) {
|
||||
safeSettings["nodeSettings"][property] = userSettings[property];
|
||||
} else {
|
||||
} else if (setting.hasOwnProperty('value')) {
|
||||
safeSettings["nodeSettings"][property] = setting.value;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user