copay/js/controllers/backup.js

47 lines
1.5 KiB
JavaScript
Raw Normal View History

2014-03-26 05:18:42 -07:00
'use strict';
angular.module('copay.backup').controller('BackupController',
2014-04-18 15:08:01 -07:00
function($scope, $rootScope, $location, $window, $timeout) {
2014-03-26 05:18:42 -07:00
$scope.title = 'Backup';
2014-04-17 14:02:20 -07:00
var _getEncryptedWallet = function() {
2014-05-01 14:33:36 -07:00
var wallet = $rootScope.wallet.toEncryptedObj();
2014-04-17 14:02:20 -07:00
return wallet;
};
2014-05-09 05:52:02 -07:00
$scope.download = function() {
var timestamp = +(new Date);
var walletName = ($rootScope.wallet.name ? $rootScope.wallet.name : '') + '-' + $rootScope.wallet.id ;
var filename = walletName + '-' + timestamp + '.json.aes';
2014-04-17 14:02:20 -07:00
var wallet = _getEncryptedWallet();
var blob = new Blob([wallet], {type: 'text/plain;charset=utf-8'});
saveAs(blob, filename);
};
$scope.email = function() {
var email = prompt('Please enter your email addres.');
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if (!email.match(mailformat)) {
alert('Enter a valid email address');
} else {
if (email && email !== '') {
var body = _getEncryptedWallet();
2014-05-09 05:52:02 -07:00
var subject = ($rootScope.wallet.name ? $rootScope.wallet.name + ' - ' : '') + $rootScope.wallet.id;
2014-04-17 14:02:20 -07:00
var href = 'mailto:' + email + '?'
2014-05-09 05:52:02 -07:00
+ 'subject=[Copay Backup] ' + subject + '&'
2014-05-01 14:39:12 -07:00
+ 'body=' + body;
2014-04-17 14:02:20 -07:00
var newWin = $window.open(href, '_blank', 'scrollbars=yes,resizable=yes,width=10,height=10');
if (newWin) {
$timeout(function() {
newWin.close();
}, 1000);
}
}
}
};
2014-03-26 05:18:42 -07:00
});