From 073dc024d02b87d4ffe7862f95ec12875570c54b Mon Sep 17 00:00:00 2001 From: vakar888 Date: Mon, 13 Mar 2017 16:19:06 +0100 Subject: [PATCH 1/2] removeCorrespondentDevice --- device.js | 26 ++++++++++++++++++++++++++ wallet.js | 5 +++++ 2 files changed, 31 insertions(+) diff --git a/device.js b/device.js index 75550411..d37320b3 100644 --- a/device.js +++ b/device.js @@ -651,6 +651,30 @@ function addIndirectCorrespondents(arrOtherCosigners, onDone){ }, onDone); } +function removeCorrespondentDevice(addr, onDone){ + db.query( + "DELETE FROM correspondent_devices WHERE device_address=?", + [addr], + function(){ + db.query( + "DELETE FROM device_messages WHERE device_address=?", + [addr], + function(){ + onDone(); + } + ); + } + ); +} + +function readDeviceAddressesUsedInMultisigWallets(onDone){ + db.query( + "SELECT distinct device_address FROM wallet_signing_paths", + function(rows){ + onDone(rows); + } + ); +} // ------------------------------- // witnesses @@ -705,5 +729,7 @@ exports.readCorrespondents = readCorrespondents; exports.readCorrespondent = readCorrespondent; exports.readCorrespondentsByDeviceAddresses = readCorrespondentsByDeviceAddresses; exports.updateCorrespondentProps = updateCorrespondentProps; +exports.removeCorrespondentDevice = removeCorrespondentDevice; +exports.readDeviceAddressesUsedInMultisigWallets = readDeviceAddressesUsedInMultisigWallets; exports.addIndirectCorrespondents = addIndirectCorrespondents; exports.getWitnessesFromHub = getWitnessesFromHub; \ No newline at end of file diff --git a/wallet.js b/wallet.js index e4de4a6e..4371282c 100644 --- a/wallet.js +++ b/wallet.js @@ -148,6 +148,11 @@ function handleMessageFromHub(ws, json, device_pubkey, bIndirectCorrespondent, c callbacks.ifOk(); break; + case "remove_paired_device": + device.removeCorrespondentDevice(from_address, function(){}); + callbacks.ifOk(); + break; + case "create_new_wallet": // {wallet: "base64", wallet_definition_template: [...]} walletDefinedByKeys.handleOfferToCreateNewWallet(body, from_address, callbacks); From fb381570fdf8e57de58f9f774a41b025ab3d0865 Mon Sep 17 00:00:00 2001 From: vakar8888 Date: Fri, 1 Dec 2017 08:35:55 +0100 Subject: [PATCH 2/2] database dir can be set in conf.js --- conf.js | 4 ++++ desktop_app.js | 9 +++++++++ sqlite_pool.js | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/conf.js b/conf.js index 385de06e..99fd5f45 100644 --- a/conf.js +++ b/conf.js @@ -54,6 +54,10 @@ if (process.browser){ } exports.database = {}; +// allows to set the directory for the database +// add to conf.js in project root +// if not set: default behaviour (e.g. ~/.config/byteball on a linux system) +//exports.DatabaseDir = '/home/john/myDatabaseDir'; /* There are 3 ways to customize conf in modules that use byteballcore lib: diff --git a/desktop_app.js b/desktop_app.js index 33563962..eb555c9e 100644 --- a/desktop_app.js +++ b/desktop_app.js @@ -53,7 +53,16 @@ function getAppDataDir(){ return (getAppsDataDir() + '/' + getAppName()); } +// database can be located in another directory +function getDatabaseDir(){ + + const customDatabaseDir = require('./conf.js').DatabaseDir; + if (customDatabaseDir) return customDatabaseDir; + + return getAppDataDir(); +} exports.getAppRootDir = getAppRootDir; exports.getAppDataDir = getAppDataDir; +exports.getDatabaseDir = getDatabaseDir; diff --git a/sqlite_pool.js b/sqlite_pool.js index 496ff9f1..e9769744 100644 --- a/sqlite_pool.js +++ b/sqlite_pool.js @@ -14,7 +14,7 @@ if (bCordova){ } else{ sqlite3 = require('sqlite3');//.verbose(); - path = require('./desktop_app.js'+'').getAppDataDir() + '/'; + path = require('./desktop_app.js'+'').getDatabaseDir() + '/'; console.log("path="+path); }