Update database module
- Updated database module so that other modules can use it directly by require() - use path module where-ever needed - Fixed: public directory not viewed in browser when opening the link
This commit is contained in:
parent
e4adaf7ed7
commit
178fcf4ce2
@ -1,4 +1,5 @@
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
const getInput = require('./getInput');
|
const getInput = require('./getInput');
|
||||||
|
|
||||||
let _I = "";
|
let _I = "";
|
||||||
@ -91,7 +92,7 @@ function configure() {
|
|||||||
configurePort().then(port_result => {
|
configurePort().then(port_result => {
|
||||||
randomizeSessionSecret().then(secret_result => {
|
randomizeSessionSecret().then(secret_result => {
|
||||||
configureSQL().then(sql_result => {
|
configureSQL().then(sql_result => {
|
||||||
fs.writeFile(__dirname + `/../args/config${_I}.json`, JSON.stringify(config), 'utf8', (err) => {
|
fs.writeFile(path.resolve(__dirname, '..', 'args', `config${_I}.json`), JSON.stringify(config), 'utf8', (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
return reject(false);
|
return reject(false);
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
let Database = require('../src/database');
|
const path = require('path');
|
||||||
|
let DB = require('../src/database');
|
||||||
|
|
||||||
let _I = "";
|
let _I = "";
|
||||||
for (let arg of process.argv)
|
for (let arg of process.argv)
|
||||||
@ -11,12 +12,12 @@ for (let arg of process.argv)
|
|||||||
function createSchema() {
|
function createSchema() {
|
||||||
const config = require(`../args/config${_I}.json`);
|
const config = require(`../args/config${_I}.json`);
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
fs.readFile(__dirname + '/../args/schema.sql', 'utf8', (err, data) => {
|
fs.readFile(path.resolve(__dirname, '..', 'args', `schema.sql`), 'utf8', (err, data) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
return reject(null);
|
return reject(null);
|
||||||
}
|
}
|
||||||
Database(config["sql_user"], config["sql_pwd"], config["sql_db"], config["sql_host"]).then(DB => {
|
DB.connect(config["sql_user"], config["sql_pwd"], config["sql_db"], config["sql_host"]).then(_ => {
|
||||||
let txQueries = data.split(';');
|
let txQueries = data.split(';');
|
||||||
txQueries.pop();
|
txQueries.pop();
|
||||||
txQueries = txQueries.map(q => q.trim().replace(/\n/g, ' '));
|
txQueries = txQueries.map(q => q.trim().replace(/\n/g, ' '));
|
||||||
|
|||||||
@ -5,8 +5,7 @@ global.floGlobals = require('../docs/scripts/floGlobals');
|
|||||||
require('../src/set_globals');
|
require('../src/set_globals');
|
||||||
require('../docs/scripts/lib');
|
require('../docs/scripts/lib');
|
||||||
const floCrypto = require('../docs/scripts/floCrypto');
|
const floCrypto = require('../docs/scripts/floCrypto');
|
||||||
|
const path = require('path');
|
||||||
console.log(__dirname);
|
|
||||||
|
|
||||||
let _I = "";
|
let _I = "";
|
||||||
for (let arg of process.argv)
|
for (let arg of process.argv)
|
||||||
@ -69,7 +68,7 @@ function resetPassword() {
|
|||||||
let encrypted = Crypto.AES.encrypt(privKey, password);
|
let encrypted = Crypto.AES.encrypt(privKey, password);
|
||||||
let randNum = floCrypto.randInt(10, 15);
|
let randNum = floCrypto.randInt(10, 15);
|
||||||
let splitShares = floCrypto.createShamirsSecretShares(encrypted, randNum, randNum);
|
let splitShares = floCrypto.createShamirsSecretShares(encrypted, randNum, randNum);
|
||||||
fs.writeFile(__dirname + `/../args/keys${_I}.json`, JSON.stringify(splitShares), 'utf8', (err) => {
|
fs.writeFile(path.resolve(__dirname, '..', 'args', `keys${_I}.json`), JSON.stringify(splitShares), 'utf8', (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
return reject(false);
|
return reject(false);
|
||||||
|
|||||||
@ -3,11 +3,13 @@ const express = require('express');
|
|||||||
//const cookieParser = require("cookie-parser");
|
//const cookieParser = require("cookie-parser");
|
||||||
//const sessions = require('express-session');
|
//const sessions = require('express-session');
|
||||||
const Request = require('./request');
|
const Request = require('./request');
|
||||||
|
const path = require('path');
|
||||||
|
const PUBLIC_DIR = path.resolve(__dirname, '..', 'docs');
|
||||||
|
|
||||||
module.exports = function App(secret, DB) {
|
module.exports = function App(secret) {
|
||||||
|
|
||||||
if (!(this instanceof App))
|
if (!(this instanceof App))
|
||||||
return new App(secret, DB);
|
return new App(secret);
|
||||||
|
|
||||||
var server = null;
|
var server = null;
|
||||||
const app = express();
|
const app = express();
|
||||||
@ -103,7 +105,6 @@ module.exports = function App(secret, DB) {
|
|||||||
app.post('/add-distributor', Request.AddDistributor);
|
app.post('/add-distributor', Request.AddDistributor);
|
||||||
app.post('/remove-distributor', Request.RemoveDistributor);
|
app.post('/remove-distributor', Request.RemoveDistributor);
|
||||||
|
|
||||||
Request.DB = DB;
|
|
||||||
Request.secret = secret;
|
Request.secret = secret;
|
||||||
|
|
||||||
//Properties
|
//Properties
|
||||||
|
|||||||
@ -4,6 +4,7 @@ const conversion_rates = require('./services/conversion').getRate;
|
|||||||
const bond_util = require('./services/bonds').util;
|
const bond_util = require('./services/bonds').util;
|
||||||
const fund_util = require('./services/bobs-fund').util;
|
const fund_util = require('./services/bobs-fund').util;
|
||||||
const pCode = require('../docs/scripts/floExchangeAPI').processCode;
|
const pCode = require('../docs/scripts/floExchangeAPI').processCode;
|
||||||
|
const DB = require("./database");
|
||||||
|
|
||||||
const {
|
const {
|
||||||
LAUNCH_SELLER_TAG,
|
LAUNCH_SELLER_TAG,
|
||||||
@ -11,7 +12,7 @@ const {
|
|||||||
REQUEST_TIMEOUT,
|
REQUEST_TIMEOUT,
|
||||||
} = require('./_constants')["market"];
|
} = require('./_constants')["market"];
|
||||||
|
|
||||||
var DB, assetList; //container for database and allowed assets
|
var assetList; //container and allowed assets
|
||||||
var updateBalance; // container for updateBalance function
|
var updateBalance; // container for updateBalance function
|
||||||
|
|
||||||
const verifyTx = {};
|
const verifyTx = {};
|
||||||
@ -506,10 +507,6 @@ module.exports = {
|
|||||||
set assetList(assets) {
|
set assetList(assets) {
|
||||||
assetList = assets;
|
assetList = assets;
|
||||||
},
|
},
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
blockchain.DB = db;
|
|
||||||
},
|
|
||||||
set updateBalance(f) {
|
set updateBalance(f) {
|
||||||
updateBalance = f;
|
updateBalance = f;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,12 +4,13 @@ const K_Bucket = require('../../docs/scripts/floExchangeAPI').K_Bucket;
|
|||||||
const slave = require('./slave');
|
const slave = require('./slave');
|
||||||
const sync = require('./sync');
|
const sync = require('./sync');
|
||||||
const WebSocket = require('ws');
|
const WebSocket = require('ws');
|
||||||
|
const DB = require("../database");
|
||||||
|
|
||||||
const {
|
const {
|
||||||
SHARE_THRESHOLD
|
SHARE_THRESHOLD
|
||||||
} = require("../_constants")["backup"];
|
} = require("../_constants")["backup"];
|
||||||
|
|
||||||
var DB, app, wss, tokenList; //Container for database and app
|
var app, wss, tokenList; //Container for app and wss
|
||||||
var nodeList, nodeURL, nodeKBucket; //Container for (backup) node list
|
var nodeList, nodeURL, nodeKBucket; //Container for (backup) node list
|
||||||
const connectedSlaves = {},
|
const connectedSlaves = {},
|
||||||
shares_collected = {},
|
shares_collected = {},
|
||||||
@ -381,11 +382,6 @@ module.exports = {
|
|||||||
set assetList(assets) {
|
set assetList(assets) {
|
||||||
tokenList = assets.filter(a => a.toUpperCase() !== "FLO");
|
tokenList = assets.filter(a => a.toUpperCase() !== "FLO");
|
||||||
},
|
},
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
sync.DB = db;
|
|
||||||
slave.DB = db;
|
|
||||||
},
|
|
||||||
get wss() {
|
get wss() {
|
||||||
return wss;
|
return wss;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const DB = require("../database");
|
||||||
|
|
||||||
const {
|
const {
|
||||||
BACKUP_INTERVAL,
|
BACKUP_INTERVAL,
|
||||||
BACKUP_SYNC_TIMEOUT,
|
BACKUP_SYNC_TIMEOUT,
|
||||||
@ -7,7 +9,6 @@ const {
|
|||||||
HASH_N_ROW
|
HASH_N_ROW
|
||||||
} = require("../_constants")["backup"];
|
} = require("../_constants")["backup"];
|
||||||
|
|
||||||
var DB; //Container for Database connection
|
|
||||||
var masterWS = null; //Container for Master websocket connection
|
var masterWS = null; //Container for Master websocket connection
|
||||||
|
|
||||||
var intervalID = null;
|
var intervalID = null;
|
||||||
@ -161,7 +162,7 @@ function storeSinkShare(sinkID, keyShare, decrypt = true) {
|
|||||||
function sendSinkShare(sinkID, pubKey) {
|
function sendSinkShare(sinkID, pubKey) {
|
||||||
DB.query("SELECT share FROM sinkShares WHERE floID=?", [sinkID]).then(result => {
|
DB.query("SELECT share FROM sinkShares WHERE floID=?", [sinkID]).then(result => {
|
||||||
if (!result.length)
|
if (!result.length)
|
||||||
return console.warn(`key-shares for ${sinkID} not found in DB!`);
|
return console.warn(`key-shares for ${sinkID} not found in database!`);
|
||||||
let share = Crypto.AES.decrypt(result[0].share, global.myPrivKey);
|
let share = Crypto.AES.decrypt(result[0].share, global.myPrivKey);
|
||||||
let response = {
|
let response = {
|
||||||
type: "SINK_SHARE",
|
type: "SINK_SHARE",
|
||||||
@ -421,9 +422,6 @@ function requestTableChunks(tables, ws) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
},
|
|
||||||
get masterWS() {
|
get masterWS() {
|
||||||
return masterWS;
|
return masterWS;
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const DB = require("../database");
|
||||||
|
|
||||||
const {
|
const {
|
||||||
HASH_N_ROW
|
HASH_N_ROW
|
||||||
} = require("../_constants")["backup"];
|
} = require("../_constants")["backup"];
|
||||||
|
|
||||||
var DB; //Container for database
|
|
||||||
|
|
||||||
//Backup Transfer
|
//Backup Transfer
|
||||||
function sendBackupData(last_time, checksum, ws) {
|
function sendBackupData(last_time, checksum, ws) {
|
||||||
if (!last_time) last_time = 0;
|
if (!last_time) last_time = 0;
|
||||||
@ -263,8 +263,5 @@ function tableSync_checksum(tables, ws) {
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
sendBackupData,
|
sendBackupData,
|
||||||
sendTableHash,
|
sendTableHash,
|
||||||
sendTableData,
|
sendTableData
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -1,10 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const pCode = require('../docs/scripts/floExchangeAPI').processCode;
|
const pCode = require('../docs/scripts/floExchangeAPI').processCode;
|
||||||
|
const DB = require("./database");
|
||||||
|
|
||||||
var collectAndCall; //container for collectAndCall function from backup module
|
var collectAndCall; //container for collectAndCall function from backup module
|
||||||
var chests; //container for blockchain ids (where assets are stored)
|
var chests; //container for blockchain ids (where assets are stored)
|
||||||
var DB; //container for database
|
|
||||||
|
|
||||||
const TYPE_VAULT = "VAULT",
|
const TYPE_VAULT = "VAULT",
|
||||||
TYPE_CONVERT = "CONVERT",
|
TYPE_CONVERT = "CONVERT",
|
||||||
@ -102,7 +102,7 @@ function sendAsset(floID, asset, quantity, type, id) {
|
|||||||
sendTx(floID, asset, quantity, sinkID, sinkKey, WITHDRAWAL_MESSAGE[type]).then(txid => {
|
sendTx(floID, asset, quantity, sinkID, sinkKey, WITHDRAWAL_MESSAGE[type]).then(txid => {
|
||||||
if (!txid)
|
if (!txid)
|
||||||
console.error("Transaction not successful");
|
console.error("Transaction not successful");
|
||||||
else //Transaction was successful, Add in DB
|
else //Transaction was successful, Add in database
|
||||||
DB.query(updateSyntax[type], [pCode.STATUS_CONFIRMATION, txid, id])
|
DB.query(updateSyntax[type], [pCode.STATUS_CONFIRMATION, txid, id])
|
||||||
.then(_ => null).catch(error => console.error(error));
|
.then(_ => null).catch(error => console.error(error));
|
||||||
}).catch(error => console.error(error)).finally(_ => {
|
}).catch(error => console.error(error)).finally(_ => {
|
||||||
@ -222,8 +222,5 @@ module.exports = {
|
|||||||
refundTransact: {
|
refundTransact: {
|
||||||
init: refundTransact_init,
|
init: refundTransact_init,
|
||||||
retry: refundTransact_retry
|
retry: refundTransact_retry
|
||||||
},
|
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,14 +1,13 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const price = require("./price");
|
const price = require("./price");
|
||||||
|
const DB = require("./database");
|
||||||
|
|
||||||
const {
|
const {
|
||||||
WAIT_TIME,
|
WAIT_TIME,
|
||||||
TRADE_HASH_PREFIX
|
TRADE_HASH_PREFIX
|
||||||
} = require("./_constants")["market"];
|
} = require("./_constants")["market"];
|
||||||
|
|
||||||
var DB; //container for database
|
|
||||||
|
|
||||||
const updateBalance = {};
|
const updateBalance = {};
|
||||||
updateBalance.consume = (floID, token, amount) => ["UPDATE UserBalance SET quantity=quantity-? WHERE floID=? AND token=?", [amount, floID, token]];
|
updateBalance.consume = (floID, token, amount) => ["UPDATE UserBalance SET quantity=quantity-? WHERE floID=? AND token=?", [amount, floID, token]];
|
||||||
updateBalance.add = (floID, token, amount) => ["INSERT INTO UserBalance (floID, token, quantity) VALUE (?) ON DUPLICATE KEY UPDATE quantity=quantity+?", [[floID, token, amount], amount]];
|
updateBalance.add = (floID, token, amount) => ["INSERT INTO UserBalance (floID, token, quantity) VALUE (?) ON DUPLICATE KEY UPDATE quantity=quantity+?", [[floID, token, amount], amount]];
|
||||||
@ -250,9 +249,5 @@ module.exports = {
|
|||||||
initiate: startCouplingForAsset,
|
initiate: startCouplingForAsset,
|
||||||
stopAll: stopAllInstance,
|
stopAll: stopAllInstance,
|
||||||
updateBalance,
|
updateBalance,
|
||||||
price,
|
price
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
price.DB = db;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
169
src/database.js
169
src/database.js
@ -1,87 +1,11 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
var mysql = require('mysql');
|
var mysql = require('mysql');
|
||||||
|
|
||||||
function Database(user, password, dbname, host = 'localhost') {
|
var pool;//container for connected pool;
|
||||||
const db = {};
|
|
||||||
|
|
||||||
Object.defineProperty(db, "connect", {
|
|
||||||
get: () => new Promise((resolve, reject) => {
|
|
||||||
db.pool.getConnection((error, conn) => {
|
|
||||||
if (error)
|
|
||||||
reject(error);
|
|
||||||
else
|
|
||||||
resolve(conn);
|
|
||||||
});
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
Object.defineProperty(db, "query", {
|
|
||||||
value: (sql, values) => new Promise((resolve, reject) => {
|
|
||||||
db.connect.then(conn => {
|
|
||||||
const fn = (err, res) => {
|
|
||||||
conn.release();
|
|
||||||
(err ? reject(err) : resolve(res));
|
|
||||||
};
|
|
||||||
if (values)
|
|
||||||
conn.query(sql, values, fn);
|
|
||||||
else
|
|
||||||
conn.query(sql, fn);
|
|
||||||
}).catch(error => reject(error));
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
Object.defineProperty(db, "transaction", {
|
|
||||||
value: (queries) => new Promise((resolve, reject) => {
|
|
||||||
db.connect.then(conn => {
|
|
||||||
conn.beginTransaction(err => {
|
|
||||||
if (err)
|
|
||||||
conn.rollback(() => {
|
|
||||||
conn.release();
|
|
||||||
reject(err);
|
|
||||||
});
|
|
||||||
else {
|
|
||||||
(function queryFn(result) {
|
|
||||||
if (!queries.length) {
|
|
||||||
conn.commit(err => {
|
|
||||||
if (err)
|
|
||||||
conn.rollback(() => {
|
|
||||||
conn.release();
|
|
||||||
reject(err);
|
|
||||||
});
|
|
||||||
else {
|
|
||||||
conn.release();
|
|
||||||
resolve(result);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
let q_i = queries.shift();
|
|
||||||
const callback = function(err, res) {
|
|
||||||
if (err)
|
|
||||||
conn.rollback(() => {
|
|
||||||
conn.release();
|
|
||||||
reject(err);
|
|
||||||
});
|
|
||||||
else {
|
|
||||||
result.push(res);
|
|
||||||
queryFn(result);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
if (!Array.isArray(q_i))
|
|
||||||
q_i = [q_i];
|
|
||||||
if (q_i[1])
|
|
||||||
conn.query(q_i[0], q_i[1], callback);
|
|
||||||
else
|
|
||||||
conn.query(q_i[0], callback);
|
|
||||||
}
|
|
||||||
})([]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}).catch(error => reject(error));
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
|
function connectToDatabase(user, password, dbname, host = 'localhost') {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
db.pool = mysql.createPool({
|
pool = mysql.createPool({
|
||||||
host: host,
|
host: host,
|
||||||
user: user,
|
user: user,
|
||||||
password: password,
|
password: password,
|
||||||
@ -89,11 +13,92 @@ function Database(user, password, dbname, host = 'localhost') {
|
|||||||
//dateStrings : true,
|
//dateStrings : true,
|
||||||
//timezone: 'UTC'
|
//timezone: 'UTC'
|
||||||
});
|
});
|
||||||
db.connect.then(conn => {
|
getConnection().then(conn => {
|
||||||
conn.release();
|
conn.release();
|
||||||
resolve(db);
|
resolve(pool);
|
||||||
}).catch(error => reject(error));
|
}).catch(error => reject(error));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = Database;
|
function getConnection() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (!pool)
|
||||||
|
return reject("Database not connected");
|
||||||
|
pool.getConnection((error, conn) => {
|
||||||
|
if (error)
|
||||||
|
reject(error);
|
||||||
|
else
|
||||||
|
resolve(conn);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function SQL_query(sql, values) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
getConnection().then(conn => {
|
||||||
|
const fn = (err, res) => {
|
||||||
|
conn.release();
|
||||||
|
(err ? reject(err) : resolve(res));
|
||||||
|
};
|
||||||
|
if (values)
|
||||||
|
conn.query(sql, values, fn);
|
||||||
|
else
|
||||||
|
conn.query(sql, fn);
|
||||||
|
}).catch(error => reject(error));
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function SQL_transaction(queries) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
getConnection().then(conn => {
|
||||||
|
conn.beginTransaction(err => {
|
||||||
|
if (err)
|
||||||
|
conn.rollback(() => {
|
||||||
|
conn.release();
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
else {
|
||||||
|
(function queryFn(result) {
|
||||||
|
if (!queries.length) {
|
||||||
|
conn.commit(err => {
|
||||||
|
if (err)
|
||||||
|
conn.rollback(() => {
|
||||||
|
conn.release();
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
else {
|
||||||
|
conn.release();
|
||||||
|
resolve(result);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
let q_i = queries.shift();
|
||||||
|
const callback = function (err, res) {
|
||||||
|
if (err)
|
||||||
|
conn.rollback(() => {
|
||||||
|
conn.release();
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
else {
|
||||||
|
result.push(res);
|
||||||
|
queryFn(result);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (!Array.isArray(q_i))
|
||||||
|
q_i = [q_i];
|
||||||
|
if (q_i[1])
|
||||||
|
conn.query(q_i[0], q_i[1], callback);
|
||||||
|
else
|
||||||
|
conn.query(q_i[0], callback);
|
||||||
|
}
|
||||||
|
})([]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}).catch(error => reject(error));
|
||||||
|
})
|
||||||
|
}
|
||||||
|
module.exports = {
|
||||||
|
connect: connectToDatabase,
|
||||||
|
query: SQL_query,
|
||||||
|
transaction: SQL_transaction
|
||||||
|
};
|
||||||
17
src/main.js
17
src/main.js
@ -13,7 +13,7 @@ global.btcOperator = require('../docs/scripts/btcOperator');
|
|||||||
floGlobals.application = application;
|
floGlobals.application = application;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
const Database = require("./database");
|
const DB = require("./database");
|
||||||
const App = require('./app');
|
const App = require('./app');
|
||||||
|
|
||||||
const backup = require('./backup/head');
|
const backup = require('./backup/head');
|
||||||
@ -22,7 +22,7 @@ const {
|
|||||||
BLOCKCHAIN_REFRESH_INTERVAL
|
BLOCKCHAIN_REFRESH_INTERVAL
|
||||||
} = require("./_constants")["app"];
|
} = require("./_constants")["app"];
|
||||||
|
|
||||||
var DB, app;
|
var app;
|
||||||
|
|
||||||
function refreshData(startup = false) {
|
function refreshData(startup = false) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@ -162,12 +162,7 @@ loadDataFromDB.trustedIDs = function () {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function setDB(db) {
|
module.exports = function startServer() {
|
||||||
DB = db;
|
|
||||||
backup.DB = DB;
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = function startServer(public_dir) {
|
|
||||||
let _pass, _I = "";
|
let _pass, _I = "";
|
||||||
for (let arg of process.argv) {
|
for (let arg of process.argv) {
|
||||||
if (/^-I=/.test(arg))
|
if (/^-I=/.test(arg))
|
||||||
@ -193,12 +188,10 @@ module.exports = function startServer(public_dir) {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
global.PUBLIC_DIR = public_dir;
|
|
||||||
console.log("Logged in as", global.myFloID);
|
console.log("Logged in as", global.myFloID);
|
||||||
|
|
||||||
Database(config["sql_user"], config["sql_pwd"], config["sql_db"], config["sql_host"]).then(db => {
|
DB.connect(config["sql_user"], config["sql_pwd"], config["sql_db"], config["sql_host"]).then(result => {
|
||||||
setDB(db);
|
app = new App(config['secret']);
|
||||||
app = new App(config['secret'], DB);
|
|
||||||
refreshData(true).then(_ => {
|
refreshData(true).then(_ => {
|
||||||
app.start(config['port']).then(result => {
|
app.start(config['port']).then(result => {
|
||||||
console.log(result);
|
console.log(result);
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
const coupling = require('./coupling');
|
const coupling = require('./coupling');
|
||||||
const background = require('./background');
|
const background = require('./background');
|
||||||
|
const DB = require("./database");
|
||||||
|
|
||||||
const blockchain = background.blockchain;
|
const blockchain = background.blockchain;
|
||||||
|
|
||||||
@ -17,7 +18,7 @@ const pCode = require('../docs/scripts/floExchangeAPI').processCode;
|
|||||||
|
|
||||||
const updateBalance = background.updateBalance = coupling.updateBalance;
|
const updateBalance = background.updateBalance = coupling.updateBalance;
|
||||||
|
|
||||||
var DB, assetList; //container for database and allowed assets
|
var assetList; //container for allowed assets
|
||||||
|
|
||||||
function login(floID, proxyKey) {
|
function login(floID, proxyKey) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@ -542,11 +543,6 @@ module.exports = {
|
|||||||
start: periodicProcess_start,
|
start: periodicProcess_start,
|
||||||
stop: periodicProcess_stop
|
stop: periodicProcess_stop
|
||||||
},
|
},
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
coupling.DB = db;
|
|
||||||
background.DB = db;
|
|
||||||
},
|
|
||||||
set assetList(assets) {
|
set assetList(assets) {
|
||||||
assetList = assets;
|
assetList = assets;
|
||||||
background.assetList = assets;
|
background.assetList = assets;
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
const DB = require("./database");
|
||||||
|
|
||||||
const {
|
const {
|
||||||
MIN_TIME,
|
MIN_TIME,
|
||||||
@ -11,8 +12,6 @@ const {
|
|||||||
REC_HISTORY_INTERVAL
|
REC_HISTORY_INTERVAL
|
||||||
} = require("./_constants")["price"];
|
} = require("./_constants")["price"];
|
||||||
|
|
||||||
var DB; //container for database
|
|
||||||
|
|
||||||
var currentRate = {}, //container for FLO price (from API or by model)
|
var currentRate = {}, //container for FLO price (from API or by model)
|
||||||
lastTime = {}, //container for timestamp of the last tx
|
lastTime = {}, //container for timestamp of the last tx
|
||||||
noBuyOrder = {},
|
noBuyOrder = {},
|
||||||
@ -20,7 +19,7 @@ var currentRate = {}, //container for FLO price (from API or by model)
|
|||||||
|
|
||||||
const updateLastTime = asset => lastTime[asset] = Date.now();
|
const updateLastTime = asset => lastTime[asset] = Date.now();
|
||||||
|
|
||||||
//store FLO price in DB every 1 hr
|
//store FLO price in database every 1 hr
|
||||||
function storeHistory(asset, rate) {
|
function storeHistory(asset, rate) {
|
||||||
DB.query("INSERT INTO PriceHistory (asset, rate) VALUE (?)", [[asset, global.toStandardDecimal(rate)]])
|
DB.query("INSERT INTO PriceHistory (asset, rate) VALUE (?)", [[asset, global.toStandardDecimal(rate)]])
|
||||||
.then(_ => null).catch(error => console.error(error))
|
.then(_ => null).catch(error => console.error(error))
|
||||||
@ -173,9 +172,6 @@ module.exports = {
|
|||||||
noBuyOrder[asset] = buy;
|
noBuyOrder[asset] = buy;
|
||||||
noSellOrder[asset] = sell;
|
noSellOrder[asset] = sell;
|
||||||
},
|
},
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
},
|
|
||||||
get currentRates() {
|
get currentRates() {
|
||||||
return Object.assign({}, currentRate);
|
return Object.assign({}, currentRate);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
const DB = require("./database");
|
||||||
|
|
||||||
const market = require("./market");
|
const market = require("./market");
|
||||||
const conversion = require('./services/conversion');
|
const conversion = require('./services/conversion');
|
||||||
@ -12,7 +13,7 @@ const {
|
|||||||
|
|
||||||
const eCode = require('../docs/scripts/floExchangeAPI').errorCode;
|
const eCode = require('../docs/scripts/floExchangeAPI').errorCode;
|
||||||
|
|
||||||
var DB, trustedIDs, secret; //container for database
|
var trustedIDs, secret; //containers for trusted IDs and secret
|
||||||
|
|
||||||
global.INVALID = function (ecode, message) {
|
global.INVALID = function (ecode, message) {
|
||||||
if (!(this instanceof INVALID))
|
if (!(this instanceof INVALID))
|
||||||
@ -619,13 +620,6 @@ module.exports = {
|
|||||||
set collectAndCall(fn) {
|
set collectAndCall(fn) {
|
||||||
market.collectAndCall = fn;
|
market.collectAndCall = fn;
|
||||||
},
|
},
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
market.DB = db;
|
|
||||||
conversion.DB = db;
|
|
||||||
blockchain_bonds.DB = db;
|
|
||||||
bobs_fund.DB = db;
|
|
||||||
},
|
|
||||||
set secret(s) {
|
set secret(s) {
|
||||||
secret = s;
|
secret = s;
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,11 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const DB = require("../database");
|
||||||
const eCode = require('../../docs/scripts/floExchangeAPI').errorCode;
|
const eCode = require('../../docs/scripts/floExchangeAPI').errorCode;
|
||||||
const pCode = require('../../docs/scripts/floExchangeAPI').processCode;
|
const pCode = require('../../docs/scripts/floExchangeAPI').processCode;
|
||||||
const getRate = require('./conversion').getRate;
|
const getRate = require('./conversion').getRate;
|
||||||
|
|
||||||
var DB; //container for database
|
|
||||||
|
|
||||||
const bobsFund = (function () {
|
const bobsFund = (function () {
|
||||||
const productStr = "Bobs Fund";
|
const productStr = "Bobs Fund";
|
||||||
|
|
||||||
@ -302,9 +301,6 @@ module.exports = {
|
|||||||
.then(result => console.debug("Refreshed Bob's Fund data"))
|
.then(result => console.debug("Refreshed Bob's Fund data"))
|
||||||
.catch(error => console.error(error));
|
.catch(error => console.error(error));
|
||||||
},
|
},
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
},
|
|
||||||
util: bobsFund,
|
util: bobsFund,
|
||||||
closeFund
|
closeFund
|
||||||
}
|
}
|
||||||
@ -1,11 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const DB = require("../database");
|
||||||
const eCode = require('../../docs/scripts/floExchangeAPI').errorCode;
|
const eCode = require('../../docs/scripts/floExchangeAPI').errorCode;
|
||||||
const pCode = require('../../docs/scripts/floExchangeAPI').processCode;
|
const pCode = require('../../docs/scripts/floExchangeAPI').processCode;
|
||||||
const getRate = require('./conversion').getRate;
|
const getRate = require('./conversion').getRate;
|
||||||
|
|
||||||
var DB; //container for database
|
|
||||||
|
|
||||||
const blockchainBond = (function () {
|
const blockchainBond = (function () {
|
||||||
const productStr = "Product: RanchiMall Bitcoin Bond";
|
const productStr = "Product: RanchiMall Bitcoin Bond";
|
||||||
|
|
||||||
@ -255,9 +254,6 @@ module.exports = {
|
|||||||
.then(result => console.debug("Refreshed Blockchain-bonds data"))
|
.then(result => console.debug("Refreshed Blockchain-bonds data"))
|
||||||
.catch(error => console.error(error));
|
.catch(error => console.error(error));
|
||||||
},
|
},
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
},
|
|
||||||
util: blockchainBond,
|
util: blockchainBond,
|
||||||
closeBond
|
closeBond
|
||||||
}
|
}
|
||||||
@ -1,13 +1,12 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const DB = require("../database");
|
||||||
const { MIN_FUND } = require('../_constants')['convert'];
|
const { MIN_FUND } = require('../_constants')['convert'];
|
||||||
const eCode = require('../../docs/scripts/floExchangeAPI').errorCode;
|
const eCode = require('../../docs/scripts/floExchangeAPI').errorCode;
|
||||||
const pCode = require('../../docs/scripts/floExchangeAPI').processCode;
|
const pCode = require('../../docs/scripts/floExchangeAPI').processCode;
|
||||||
|
|
||||||
const allowedConversion = ["BTC"];
|
const allowedConversion = ["BTC"];
|
||||||
|
|
||||||
var DB; //container for database
|
|
||||||
|
|
||||||
function BTC_INR() {
|
function BTC_INR() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
BTC_USD().then(btc_usd => {
|
BTC_USD().then(btc_usd => {
|
||||||
@ -219,8 +218,5 @@ module.exports = {
|
|||||||
withdrawFund: {
|
withdrawFund: {
|
||||||
coin: withdrawCoinFund,
|
coin: withdrawCoinFund,
|
||||||
currency: withdrawCurrencyFund
|
currency: withdrawCurrencyFund
|
||||||
},
|
|
||||||
set DB(db) {
|
|
||||||
DB = db;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user