Page Menu
Home
Sealhub
Search
Configure Global Search
Log In
Files
F10359625
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
10 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/bin/index.js b/bin/index.js
index a59ff346..f2bc9785 100644
--- a/bin/index.js
+++ b/bin/index.js
@@ -1,11 +1,11 @@
require("prometheus-exception-handler");
var core = require("prometheus-core");
var LayerManager = require("prometheus-layer-manager");
var db_layer = require("prometheus-database-layer");
-if(LayerManager.validate()){
+if(LayerManager.isValid()){
core.bootstrap();
LayerManager.init();
} else {
console.log("ERR: Unknown command or layer name.")
}
diff --git a/bin/node_modules/prometheus-core/prometheus-core.js b/bin/node_modules/prometheus-core/prometheus-core.js
index 2cfae9dd..9b9ae7c6 100644
--- a/bin/node_modules/prometheus-core/prometheus-core.js
+++ b/bin/node_modules/prometheus-core/prometheus-core.js
@@ -1,65 +1,64 @@
var fs = require("fs");
var path = require('path')
var Set = require('Set');
//var Channel = require('prometheus-channel')
-var Modules = null;// dependency injected later on
-
var channels = {};
var channel_info = {};
var services = {};
var service_info = {};
var registred_chips = new Set();
var Core = new function(){
this.registerChip = function(chip_name){
registred_chips.add(chip_name);
}
function collect_module_settings(){
var modules_dir = path.resolve(module.filename, "../../../prometheus-modules");
var modules_dir_contents = fs.readdirSync(modules_dir);
for(var i in modules_dir_contents){
var current_module_path = path.resolve(modules_dir, modules_dir_contents[i]);
Modules.loadPath(current_module_path);
}
}
this.bootstrap = function(){
collect_module_settings();
}
this.registerChannel = function(id, info, body){
channel_info[id] = info;
channels[id] = body;
}
this.registerService = function(id, info, body){
service_info[id] = info;
services[id] = body;
}
this.chipIsRegistred = function(chip_name){
return registred_chips.has(chip_name);
}
this.getChannel = function(id){
return channels[id];
}
this.getService = function(id){
return services[id] || null;
}
this.getServices = function(){
return services;
}
}
+
module.exports = Core;
//!!important! export Core before importning Modules (circular dependency fail)
Modules = require("prometheus-module-manager");
diff --git a/bin/node_modules/prometheus-database-accessor/database-accessor.js b/bin/node_modules/prometheus-database-accessor/database-accessor.js
index 4a998a33..3b0b53af 100644
--- a/bin/node_modules/prometheus-database-accessor/database-accessor.js
+++ b/bin/node_modules/prometheus-database-accessor/database-accessor.js
@@ -1,142 +1,142 @@
/**
* Provides access to the database
* @module database-accessor
*/
var Promise = require("bluebird");
var request = require("request");
var queryString = require("query-string");
var LayerManager = require("prometheus-layer-manager");
var config = require("prometheus-config");
var db_rest_api_client = new function(){
this.init = function(){
//server_configuration = LayerManager.getDBLayerLocation();
}
function generateUrl(){
var remote_settings = config.db_layer_config;
return "http://" + remote_settings.host + ":" + remote_settings.port;
}
this.query = function(collection_name, mode, query, options, output_options){
output_options = output_options || {};
return new Promise(function(resolve, reject){
if(mode=="find"){
var url = generateUrl() + "/api/rest/v1/" + collection_name + "/";
var query_string = queryString.stringify({
mode: mode,
query: JSON.stringify(query),
options: JSON.stringify(options),
output_options: JSON.stringify(output_options)
});
var entire_url = url+"?"+query_string
request.get(entire_url, function(err, res, body){
if(err){
throw new Error(err);
reject(err);
}else{
resolve(JSON.parse(body));
}
})
}
if(mode=="insert"){
var url = generateUrl() + "/api/rest/v1/" + collection_name + "/";
var payload = {
mode: "insert",
query: query,
options: options
};
var payload_string = JSON.stringify(payload);
request.post(url, {form:{json_encoded_payload:payload_string}}, function(err, res, body){
if(err){
throw new Error(err);
reject(err);
}else{
resolve(JSON.parse(body));
}
})
}
if(mode=="update"){
var url = generateUrl() + "/api/rest/v1/" + collection_name + "/";
var payload = {
mode: "update",
query: query,
options: options
};
var payload_string = JSON.stringify(payload);
request.put(url, {form:{json_encoded_payload:payload_string}}, function(err, res, body){
if(err){
throw new Error(err);
reject(err);
}else{
resolve(JSON.parse(body));
}
})
}
})
}
}
var db_lpc_api_client = new function(){
var server = null;
this.init = function(){
server = require("prometheus-database-layer").getServer();
this.query = server.query;
}
}
function lpc_api_needed(){
if(LayerManager.isLocal()){
return true;
}else{
if(LayerManager.getLayer()=="web"){
return false
}else{
return true;
}
}
}
function rest_api_needed(){
if(LayerManager.isLocal()){
return false;
}else{
if(LayerManager.getLayer()=="biz"){
return true;
}else{
return false;
}
}
}
-if(LayerManager.validate()){
+if(LayerManager.isValid()){
if(rest_api_needed()){
module.exports = db_rest_api_client;
}else{
if(lpc_api_needed()){
db_lpc_api_client.init();
module.exports = db_lpc_api_client;
}
}
}
diff --git a/bin/node_modules/prometheus-database-layer/database-layer.js b/bin/node_modules/prometheus-database-layer/database-layer.js
index f2a0bdbf..816c359e 100644
--- a/bin/node_modules/prometheus-database-layer/database-layer.js
+++ b/bin/node_modules/prometheus-database-layer/database-layer.js
@@ -1,113 +1,113 @@
var Promise = require("bluebird");
var LayerManager = require("prometheus-layer-manager");
function allow_query(){
if(LayerManager.isLocal()){
return true;
}else{
if(LayerManager.layer=="web"){
return false;
}else{
return true;
}
}
}
function db_server_setup_needed(){
if(LayerManager.isLocal()){
return true;
}else{
if(LayerManager.getLayer()=="db"){
return true;
}else{
return false;
}
}
}
function rest_server_needed(){
if(LayerManager.isLocal()){
return false;
}else{
if(LayerManager.getLayer()=="db"){
return true;
}else{
return false;
}
}
}
var server = null;
module.exports.initialized = false;
function init(){
if(db_server_setup_needed()){
server = require("./database-server.js");
//server.init();
}
module.exports.initialized = true;
}
/*
module.exports.query = function(collection, mode, query){
return new Promise(function(resolve, reject){
return server.query(collection_name, mode, query, options);
});
}
*/
module.exports.getServer = function(){
if(!module.exports.initialized){
init();
}
return server;
}
module.exports.init = function(){
init();
}
function init_needed(){
if(LayerManager.isLocal()){
return true;
}else{
if(LayerManager.getLayer()=="web"){
return false;
}else{
return true;
}
}
}
function rest_server_needed(){
if(LayerManager.isLocal()){
return false;
}else{
if(LayerManager.getLayer()=="db"){
return true;
}else{
return false;
}
}
}
-if(LayerManager.validate()){
+if(LayerManager.isValid()){
if(rest_server_needed()){
var rest_server = require("./database-rest-server.js");
rest_server.start(function(){
console.log("Database REST server started:", rest_server.info.uri);
});
}
if(init_needed()){
init();
}
}
var DatabaseAccess = require("prometheus-database-accessor");
\ No newline at end of file
diff --git a/bin/node_modules/prometheus-layer-manager/layer-manager.js b/bin/node_modules/prometheus-layer-manager/layer-manager.js
index f6063f8b..55c2d2e1 100644
--- a/bin/node_modules/prometheus-layer-manager/layer-manager.js
+++ b/bin/node_modules/prometheus-layer-manager/layer-manager.js
@@ -1,70 +1,86 @@
var simpleargs = require("simpleargs");
var Modules = require("prometheus-module-manager");
var LayerManager = new function(){
this.mode = null;
+ var stateLocal = null;
+ var l_argument = null;
+ var layerName = null;
+ var isValid = null;
this.isLocal = function(){
- var l_argument = simpleargs(process.argv.slice(2))["l"]
- return l_argument==="local" || l_argument===null || l_argument==undefined;
+ return stateLocal;
}
this.getLayer = function(){
- var l_argument = simpleargs(process.argv.slice(2))["l"]
- if(!l_argument){
- return null;
- }else{
- return l_argument;
- }
+ return layerName;
}
- this.validate = function(){
- if(process.argv.length > 3) {
- var arg = process.argv[3];
- if(typeof(arg) === 'undefined' || arg === null || (arg!="web" && arg!="biz" && arg != "db") || process.argv.length > 4) {
- return false;
- }
- }
- return true;
+ this.isValid = function(){
+ return isValid;
}
this.init = function(){
- var l_argument = simpleargs(process.argv.slice(2))["l"]
- this.mode = l_argument? l_argument : "local";
+ this.mode = l_argument || "local";
if(this.isLocal()){
for(var i in layers){
layers[i].init();
}
Modules.execute_modules(["services", "channels"]);
}else{
switch(this.getLayer()){
case "db":
db_layer.init();
break;
case "biz":
biz_layer.init();
Modules.execute_modules(["services"]);
break;
case "web":
web_layer.init();
Modules.execute_modules(["channels"]);
break;
}
}
return false;
}
+ var checkLocal = function(){
+ l_argument = simpleargs(process.argv.slice(2))["l"];
+ stateLocal = l_argument==="local" || l_argument===null || l_argument==undefined;
+ }
+ var checkLayer = function(){
+ if(!l_argument){
+ layerName = null;
+ }else{
+ layerName = l_argument;
+ }
+ }
+ var checkValidation = function(){
+ if(process.argv.length > 3) {
+ var arg = process.argv[3];
+ if(typeof(arg) === 'undefined' || arg === null || (arg!="web" && arg!="biz" && arg != "db")) {
+ isValid = false;
+ }
+
+ }
+ isValid = true;
+ }
+
+ checkLocal();
+ checkLayer();
+ checkValidation();
}
module.exports = LayerManager;
var web_layer = require("prometheus-web-layer");
var biz_layer = require("prometheus-business-layer");
var db_layer = require("prometheus-database-layer");
var layers = {
"db": db_layer,
"web": web_layer,
"biz": biz_layer,
}
\ No newline at end of file
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Nov 8, 01:21 (3 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1033090
Default Alt Text
(10 KB)
Attached To
Mode
rS Sealious
Attached
Detach File
Event Timeline
Log In to Comment