Add the node setting tlsConfigDisableLocalFiles for tls node. (#1190)

* Add the node setting tlsConfigDisableLocalFiles for tls node.

* Fix the bug that shows node setting when specified in settings.js and exportable is false.
This commit is contained in:
Kazuki-Nakanishi 2017-03-09 19:58:34 +00:00 committed by Nick O'Leary
parent 34089aec70
commit 3b3d696e45
3 changed files with 17 additions and 6 deletions

View File

@ -48,7 +48,14 @@ module.exports = function(RED) {
return; return;
} }
} }
RED.nodes.registerType("tls-config",TLSConfig); RED.nodes.registerType("tls-config",TLSConfig,{
settings: {
tlsConfigDisableLocalFiles: {
value: true,
exportable: false
}
}
});
TLSConfig.prototype.addTLSOptions = function(opts) { TLSConfig.prototype.addTLSOptions = function(opts) {
if (this.valid) { if (this.valid) {

View File

@ -128,10 +128,12 @@ var persistentSettings = {
for (var property in nodeTypeSettings) { for (var property in nodeTypeSettings) {
if (nodeTypeSettings.hasOwnProperty(property)) { if (nodeTypeSettings.hasOwnProperty(property)) {
var setting = nodeTypeSettings[property]; var setting = nodeTypeSettings[property];
if (userSettings.hasOwnProperty(property)) { if (setting.exportable) {
safeSettings["nodeSettings"][property] = userSettings[property]; if (userSettings.hasOwnProperty(property)) {
} else if (setting.exportable) { safeSettings["nodeSettings"][property] = userSettings[property];
safeSettings["nodeSettings"][property] = setting.value; } else {
safeSettings["nodeSettings"][property] = setting.value;
}
} }
} }
} }

View File

@ -185,14 +185,16 @@ describe("red/settings", function() {
var userSettings = { var userSettings = {
injectColor: "green", injectColor: "green",
mqttColor: "yellow", mqttColor: "yellow",
c: [1,2,3] abColor: [1,2,3]
} }
settings.init(userSettings); settings.init(userSettings);
settings.registerNodeSettings("inject", {injectColor:{value:"red", exportable:true}} ); settings.registerNodeSettings("inject", {injectColor:{value:"red", exportable:true}} );
settings.registerNodeSettings("ab", {abColor:{value:"red", exportable:false}} );
var safeSettings = {}; var safeSettings = {};
settings.exportNodeSettings(safeSettings); settings.exportNodeSettings(safeSettings);
safeSettings["nodeSettings"].should.have.property("injectColor", "green"); safeSettings["nodeSettings"].should.have.property("injectColor", "green");
safeSettings["nodeSettings"].should.not.have.property("mqttColor"); safeSettings["nodeSettings"].should.not.have.property("mqttColor");
safeSettings["nodeSettings"].should.not.have.property("abColor");
}); });
it('disables/enables node settings', function() { it('disables/enables node settings', function() {