2014-03-27 12:31:42 -07:00
|
|
|
'use strict';
|
|
|
|
|
2014-03-28 11:08:14 -07:00
|
|
|
angular.module('copay.signin').controller('SigninController',
|
2014-05-01 10:21:55 -07:00
|
|
|
function($scope, $rootScope, $location, walletFactory, controllerUtils, Passphrase) {
|
2014-03-31 08:48:35 -07:00
|
|
|
$scope.loading = false;
|
2014-04-24 12:35:52 -07:00
|
|
|
$scope.wallets = walletFactory.getWallets();
|
|
|
|
$scope.selectedWalletId = $scope.wallets.length ? $scope.wallets[0].id : null;
|
2014-05-01 10:21:55 -07:00
|
|
|
$scope.openPassword = '';
|
2014-04-08 22:20:28 -07:00
|
|
|
|
2014-05-06 10:39:16 -07:00
|
|
|
$scope.create = function(form) {
|
|
|
|
if (form) {
|
|
|
|
if (form.$invalid) {
|
|
|
|
$rootScope.flashMessage = { message: 'Please, enter required fields', type: 'error'};
|
|
|
|
return;
|
|
|
|
}
|
2014-05-01 10:21:55 -07:00
|
|
|
|
2014-05-06 10:39:16 -07:00
|
|
|
$rootScope.walletName = form.walletName.$modelValue;
|
|
|
|
$rootScope.walletPassword = form.createPassword.$modelValue;
|
|
|
|
}
|
2014-04-16 15:45:22 -07:00
|
|
|
$location.path('setup');
|
2014-04-16 13:50:10 -07:00
|
|
|
};
|
2014-04-15 11:25:55 -07:00
|
|
|
|
2014-05-06 10:39:16 -07:00
|
|
|
$scope.open = function(form) {
|
|
|
|
if (form.$invalid) {
|
|
|
|
$rootScope.flashMessage = { message: 'Please, enter required fields', type: 'error'};
|
|
|
|
return;
|
2014-05-01 10:21:55 -07:00
|
|
|
}
|
2014-05-06 10:39:16 -07:00
|
|
|
$scope.loading = true;
|
|
|
|
var password = form.openPassword.$modelValue;
|
|
|
|
|
|
|
|
var passphrase = Passphrase.getBase64(password);
|
|
|
|
var w = walletFactory.open($scope.selectedWalletId, { passphrase: passphrase});
|
|
|
|
controllerUtils.startNetwork(w);
|
2014-04-08 22:20:28 -07:00
|
|
|
};
|
|
|
|
|
2014-05-06 10:39:16 -07:00
|
|
|
$scope.join = function(form) {
|
|
|
|
if (form.$invalid) {
|
|
|
|
$rootScope.flashMessage = { message: 'Please, enter required fields', type: 'error'};
|
|
|
|
return;
|
|
|
|
}
|
2014-03-31 08:48:35 -07:00
|
|
|
$scope.loading = true;
|
2014-04-20 08:41:28 -07:00
|
|
|
|
2014-04-30 08:58:40 -07:00
|
|
|
walletFactory.network.on('badSecret', function() {
|
2014-04-17 12:27:15 -07:00
|
|
|
});
|
2014-04-20 08:41:28 -07:00
|
|
|
|
2014-05-01 14:34:30 -07:00
|
|
|
var passphrase = Passphrase.getBase64($scope.joinPassword);
|
|
|
|
walletFactory.joinCreateSession($scope.connectionId, $scope.nickname, passphrase, function(err,w) {
|
2014-04-30 08:58:40 -07:00
|
|
|
$scope.loading = false;
|
|
|
|
|
2014-05-01 14:34:30 -07:00
|
|
|
if (err || !w) {
|
2014-04-30 08:58:40 -07:00
|
|
|
if (err === 'joinError')
|
|
|
|
$rootScope.flashMessage = { message: 'Can not find peer'};
|
|
|
|
else if (err === 'badSecret')
|
|
|
|
$rootScope.flashMessage = { message: 'Bad secret secret string', type: 'error'};
|
|
|
|
else
|
|
|
|
$rootScope.flashMessage = { message: 'Unknown error', type: 'error'};
|
|
|
|
controllerUtils.onErrorDigest();
|
2014-05-01 10:21:55 -07:00
|
|
|
} else {
|
2014-04-30 08:58:40 -07:00
|
|
|
controllerUtils.startNetwork(w);
|
2014-05-01 10:21:55 -07:00
|
|
|
}
|
2014-04-16 16:58:57 -07:00
|
|
|
});
|
|
|
|
};
|
2014-03-27 12:31:42 -07:00
|
|
|
});
|