diff --git a/config/env/common.js b/config/env/common.js index d962fb2..a1dec21 100644 --- a/config/env/common.js +++ b/config/env/common.js @@ -80,10 +80,16 @@ module.exports = { debugLevel: process.env.DEBUG_LEVEL ? parseInt(process.env.DEBUG_LEVEL) : 2, + // Preferred provider running ipfs-bch-wallet-service for BCH wallet. preferredProvider: process.env.PREFERRED_PROVIDER ? process.env.PREFERRED_PROVIDER - : '' + : '', // : 'QmdBGB8S6sEr19gaAxJYjhRbz5ZmMiH5a1JyyMmaxcRKnY' // : 'QmUTx6KqYKVZbKpKxR7vGDUgZFYVvVVyEWDeCYq4GwBCff' // Used for development + + // Preferred P2WDB provider + preferredP2wdbProvider: process.env.PREFERRED_P2WDB_PROVIDER + ? process.env.PREFERRED_P2WDB_PROVIDER + : '' } diff --git a/src/adapters/p2wdb/index.js b/src/adapters/p2wdb/index.js index 7b02705..acdcb9a 100644 --- a/src/adapters/p2wdb/index.js +++ b/src/adapters/p2wdb/index.js @@ -108,17 +108,17 @@ class P2wdbAdapter { } // Choose the BCH wallet service to use. - // async selectProvider (providerId) { - // try { - // this.ipfs.ipfsCoordAdapter.config.preferredProvider = providerId - // - // return true - // } catch (err) { - // // console.log('createUser() error: ', err) - // wlogger.error('Error in use-cases/bch.js/getStatus()') - // throw err - // } - // } + async selectProvider (providerId) { + try { + this.ipfs.ipfsCoordAdapter.config.preferredP2wdbProvider = providerId + + return true + } catch (err) { + // console.log('createUser() error: ', err) + wlogger.error('Error in adapters/p2wdb/getStatus()') + throw err + } + } // Get the BCH balance for an array of addresses. // async getBalances (addrs) { diff --git a/src/controllers/rest-api/p2wdb/controller.js b/src/controllers/rest-api/p2wdb/controller.js index be601e3..87822cf 100644 --- a/src/controllers/rest-api/p2wdb/controller.js +++ b/src/controllers/rest-api/p2wdb/controller.js @@ -51,23 +51,23 @@ class P2wdbRESTControllerLib { } } - // async postProvider (ctx) { - // try { - // const providerId = ctx.request.body.provider - // - // await this.adapters.bch.selectProvider(providerId) - // - // const body = { - // success: true - // } - // - // ctx.body = body - // } catch (err) { - // wlogger.error('Error in bch/controller.js/postProvider(): ') - // // ctx.throw(422, err.message) - // this.handleError(ctx, err) - // } - // } + async postProvider (ctx) { + try { + const providerId = ctx.request.body.provider + + await this.adapters.p2wdb.selectProvider(providerId) + + const body = { + success: true + } + + ctx.body = body + } catch (err) { + wlogger.error('Error in p2wdb/controller.js/postProvider(): ', err) + // ctx.throw(422, err.message) + this.handleError(ctx, err) + } + } // DRY error handler handleError (ctx, err) { diff --git a/src/controllers/rest-api/p2wdb/index.js b/src/controllers/rest-api/p2wdb/index.js index de02b2f..889cdd9 100644 --- a/src/controllers/rest-api/p2wdb/index.js +++ b/src/controllers/rest-api/p2wdb/index.js @@ -52,7 +52,7 @@ class P2wdbRouter { // Define the routes and attach the controller. this.router.get('/', this.getStatus) - // this.router.post('/provider', this.postProvider) + this.router.post('/provider', this.postProvider) // this.router.post('/balance', this.postBalance) // this.router.post('/utxos', this.postUtxos) // this.router.post('/broadcast', this.postBroadcast) @@ -69,10 +69,10 @@ class P2wdbRouter { await _this.p2wdbRESTController.getStatus(ctx, next) } - // async postProvider (ctx, next) { - // await _this.bchRESTController.postProvider(ctx, next) - // } - // + async postProvider (ctx, next) { + await _this.p2wdbRESTController.postProvider(ctx, next) + } + // async postBalance (ctx, next) { // await _this.bchRESTController.balance(ctx, next) // }