NLS /red/nodes

NLS other js files under /red

NLS /red files (changed based on Nick's review)
This commit is contained in:
Scott Yoshizawa
2015-05-20 17:46:49 -05:00
committed by Nick O'Leary
parent 203bc41b06
commit 2563649b3e
9 changed files with 69 additions and 27 deletions

View File

@@ -36,7 +36,7 @@ function createLibrary(type) {
}).otherwise(function(err) {
if (err) {
log.warn(log._("api.library.error-load-entry",{path:path,message:err}));
if (err.message.indexOf('forbidden') === 0) {
if (err.code === 'forbidden') {
log.audit({event: "library.get",type:type,error:"forbidden"},req);
res.send(403);
return;
@@ -58,7 +58,7 @@ function createLibrary(type) {
res.send(204);
}).otherwise(function(err) {
log.warn(log._("api.library.error-save-entry",{path:path,message:err}));
if (err.message.indexOf('forbidden') === 0) {
if (err.code === 'forbidden') {
log.audit({event: "library.set",type:type,error:"forbidden"},req);
res.send(403);
return;
@@ -90,7 +90,7 @@ module.exports = {
}).otherwise(function(err) {
if (err) {
log.warn(log._("api.library.error-load-flow",{path:req.params[0],message:err}));
if (err.message.indexOf('forbidden') === 0) {
if (err.code === 'forbidden') {
log.audit({event: "library.get",type:"flow",path:req.params[0],error:"forbidden"},req);
res.send(403);
return;
@@ -107,7 +107,7 @@ module.exports = {
res.send(204);
}).otherwise(function(err) {
log.warn(log._("api.library.error-save-flow",{path:req.params[0],message:err}));
if (err.message.indexOf('forbidden') === 0) {
if (err.code === 'forbidden') {
log.audit({event: "library.set",type:"flow",path:req.params[0],error:"forbidden"},req);
res.send(403);
return;

View File

@@ -43,7 +43,7 @@ function createNode(type,config) {
});
}
} else {
Log.error("Unknown type: "+type);
Log.error(Log._("nodes.flow.unknown-type", {type:type}));
}
return nn;
}
@@ -368,7 +368,7 @@ Flow.prototype.start = function(configDiff) {
this.started = true;
if (this.missingTypes.length > 0) {
throw new Error("missing types");
throw new Error(Log._("nodes.flow.missing-types"));
}
events.emit("nodes-starting");

View File

@@ -17,6 +17,7 @@ var registry = require("./registry");
var credentials = require("./credentials");
var flows = require("./flows");
var Node = require("./Node");
var log = require("../log");
/**
* Registers a node constructor
@@ -61,7 +62,7 @@ function init(_settings,storage,app) {
function checkTypeInUse(id) {
var nodeInfo = registry.getNodeInfo(id);
if (!nodeInfo) {
throw new Error("Unrecognised id: "+id);
throw new Error(log._("nodes.index.unrecognised-id", {id:id}));
} else {
var inUse = {};
var config = flows.getFlows();
@@ -76,7 +77,7 @@ function checkTypeInUse(id) {
});
if (nodesInUse.length > 0) {
var msg = nodesInUse.join(", ");
var err = new Error("Type in use: "+msg);
var err = new Error(log._("nodes.index.type-in-use", {msg:msg}));
err.code = "type_in_use";
throw err;
}
@@ -91,7 +92,7 @@ function removeNode(id) {
function removeModule(module) {
var info = registry.getModuleInfo(module);
if (!info) {
throw new Error("Unrecognised module: "+module);
throw new Error(log._("nodes.index.unrecognised-module", {module:module}));
} else {
for (var i=0;i<info.nodes.length;i++) {
checkTypeInUse(module+"/"+info.nodes[i].name);

View File

@@ -302,7 +302,8 @@ function addModule(module) {
}
var nodes = [];
if (registry.getModuleInfo(module)) {
var e = new Error("Module already loaded");
// TODO: nls
var e = new Error("module_already_loaded");
e.code = "module_already_loaded";
return when.reject(e);
}

View File

@@ -19,6 +19,7 @@ var fs = require("fs");
var path = require("path");
var events = require("../../events");
var log = require("../../log");
var settings;
var defaultNodesDir = path.resolve(path.join(__dirname,"..","..","..","nodes"));
@@ -251,7 +252,7 @@ function getModuleFiles(module) {
var moduleFiles = scanTreeForNodesModules(module);
if (moduleFiles.length === 0) {
var err = new Error("Cannot find module '" + module + "'");
var err = new Error(log._("nodes.registry.localfilesystem.module-not-found", {module:module}));
err.code = 'MODULE_NOT_FOUND';
throw err;
}

View File

@@ -17,6 +17,7 @@
var when = require("when");
var clone = require("clone");
var assert = require("assert");
var log = require("./log");
var userSettings = null;
var globalSettings = null;
@@ -48,17 +49,17 @@ var persistentSettings = {
return clone(userSettings[prop]);
}
if (globalSettings === null) {
throw new Error("Settings not available");
throw new Error(log._("settings.not-available"));
}
return clone(globalSettings[prop]);
},
set: function(prop,value) {
if (userSettings.hasOwnProperty(prop)) {
throw new Error("Property '"+prop+"' is read-only");
throw new Error(log._("settings.property-read-only", {prop:prop}));
}
if (globalSettings === null) {
throw new Error("Settings not available");
throw new Error(log._("settings.not-available"));
}
var current = globalSettings[prop];
globalSettings[prop] = value;

View File

@@ -16,6 +16,7 @@
var when = require('when');
var Path = require('path');
var log = require("../log");
var storageModule;
var settingsAvailable;
@@ -96,13 +97,17 @@ var storageModuleInterface = {
getLibraryEntry: function(type, path) {
if (is_malicious(path)) {
return when.reject(new Error('forbidden flow name'));
var err = new Error();
err.code = "forbidden";
return when.reject(err);
}
return storageModule.getLibraryEntry(type, path);
},
saveLibraryEntry: function(type, path, meta, body) {
if (is_malicious(path)) {
return when.reject(new Error('forbidden flow name'));
var err = new Error();
err.code = "forbidden";
return when.reject(err);
}
return storageModule.saveLibraryEntry(type, path, meta, body);
},
@@ -117,7 +122,9 @@ var storageModuleInterface = {
},
getFlow: function(fn) {
if (is_malicious(fn)) {
return when.reject(new Error('forbidden flow name'));
var err = new Error();
err.code = "forbidden";
return when.reject(err);
}
if (storageModule.hasOwnProperty("getFlow")) {
return storageModule.getFlow(fn);
@@ -128,7 +135,9 @@ var storageModuleInterface = {
},
saveFlow: function(fn, data) {
if (is_malicious(fn)) {
return when.reject(new Error('forbidden flow name'));
var err = new Error();
err.code = "forbidden";
return when.reject(err);
}
if (storageModule.hasOwnProperty("saveFlow")) {
return storageModule.saveFlow(fn, data);