Wallet/src/js/controllers/glideraUri.js

36 lines
1.3 KiB
JavaScript
Raw Normal View History

'use strict';
angular.module('copayApp.controllers').controller('glideraUriController',
function($scope, $log, $stateParams, $timeout, glideraService, storageService, $state, ongoingProcess, popupService, gettextCatalog) {
var submitOauthCode = function(code) {
2016-06-11 18:40:29 -03:00
$log.debug('Glidera Oauth Code:' + code);
$scope.network = glideraService.getEnvironment();
2016-06-13 15:25:40 -03:00
ongoingProcess.set('connectingGlidera', true);
2016-06-11 18:40:29 -03:00
$timeout(function() {
glideraService.getToken(code, function(err, data) {
2016-06-13 15:25:40 -03:00
ongoingProcess.set('connectingGlidera', false);
2016-06-11 18:40:29 -03:00
if (err) {
popupService.showAlert(gettextCatalog.getString('Error'), err);
2016-06-11 18:40:29 -03:00
} else if (data && data.access_token) {
storageService.setGlideraToken($scope.network, data.access_token, function() {
2016-06-11 18:40:29 -03:00
$timeout(function() {
2016-09-16 14:46:25 -03:00
$state.go('tabs.buyandsell.glidera');
2016-06-11 18:40:29 -03:00
$scope.$apply();
}, 500);
2016-06-11 18:40:29 -03:00
});
}
});
}, 100);
};
$scope.$on("$ionicView.enter", function(event, data){
2016-06-11 18:40:29 -03:00
if ($stateParams.url) {
var match = $stateParams.url.match(/code=(.+)/);
if (match && match[1]) {
submitOauthCode(match[1]);
return;
2016-06-11 18:40:29 -03:00
}
}
2016-06-11 18:40:29 -03:00
$log.error('Bad state: ' + JSON.stringify($stateParams));
});
2016-06-11 18:40:29 -03:00
});