From 092b67086198807baee97624ca75b65f89fa1b4b Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 24 Jan 2017 18:17:44 -0300 Subject: [PATCH 1/3] Remove token automatically from storage if it was revoked --- src/js/controllers/coinbase.js | 10 ++++++++-- src/js/controllers/preferencesCoinbase.js | 12 ++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/js/controllers/coinbase.js b/src/js/controllers/coinbase.js index 3005e07bb..a038e6546 100644 --- a/src/js/controllers/coinbase.js +++ b/src/js/controllers/coinbase.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('coinbaseController', function($scope, $timeout, $ionicModal, $log, coinbaseService, lodash, platformInfo, ongoingProcess, popupService, externalLinkService) { +angular.module('copayApp.controllers').controller('coinbaseController', function($scope, $timeout, $ionicModal, $ionicHistory, $log, coinbaseService, lodash, platformInfo, ongoingProcess, popupService, externalLinkService) { var isNW = platformInfo.isNW; var isCordova = platformInfo.isCordova; @@ -17,8 +17,14 @@ angular.module('copayApp.controllers').controller('coinbaseController', function if (err || lodash.isEmpty(data)) { if (err) { $log.error(err); + var errorId = err.errors ? err.errors[0].id : null; err = err.errors ? err.errors[0].message : err; - popupService.showAlert('Error connecting to Coinbase', err); + popupService.showAlert('Error connecting to Coinbase', err, function() { + if (errorId == 'revoked_token') { + coinbaseService.logout(function() {}); + } + $ionicHistory.goBack(); + }); } return; } diff --git a/src/js/controllers/preferencesCoinbase.js b/src/js/controllers/preferencesCoinbase.js index c55e996ef..eea526bad 100644 --- a/src/js/controllers/preferencesCoinbase.js +++ b/src/js/controllers/preferencesCoinbase.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('preferencesCoinbaseController', function($scope, $timeout, $state, $ionicHistory, lodash, ongoingProcess, popupService, coinbaseService) { +angular.module('copayApp.controllers').controller('preferencesCoinbaseController', function($scope, $timeout, $log, $state, $ionicHistory, lodash, ongoingProcess, popupService, coinbaseService) { $scope.revokeToken = function() { popupService.showConfirm('Coinbase', 'Are you sure you would like to log out of your Coinbase account?', null, null, function(res) { @@ -22,7 +22,15 @@ angular.module('copayApp.controllers').controller('preferencesCoinbaseController if (err || lodash.isEmpty(data)) { ongoingProcess.set('connectingCoinbase', false); if (err) { - popupService.showAlert(gettextCatalog.getString('Error'), err); + $log.error(err); + var errorId = err.errors ? err.errors[0].id : null; + err = err.errors ? err.errors[0].message : err; + popupService.showAlert('Error connecting to Coinbase', err, function() { + if (errorId == 'revoked_token') { + coinbaseService.logout(function() {}); + $ionicHistory.goBack(); + } + }); } return; } From 45ba722d5d488c708f111013500a6b43f2b26db1 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 24 Jan 2017 18:18:22 -0300 Subject: [PATCH 2/3] Allow users to remove token from storage if it failed --- www/views/preferencesCoinbase.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/www/views/preferencesCoinbase.html b/www/views/preferencesCoinbase.html index 68050e9af..4676b742e 100644 --- a/www/views/preferencesCoinbase.html +++ b/www/views/preferencesCoinbase.html @@ -51,7 +51,9 @@ {{coinbaseUser.email}} + +