diff options
author | binsky <timo@binsky.org> | 2021-08-17 17:47:19 +0300 |
---|---|---|
committer | binsky <timo@binsky.org> | 2021-08-17 18:08:45 +0300 |
commit | 39a712ca428ada4244c24a569afb4bfba1f91e03 (patch) | |
tree | 795561a3e6a15b7615338292e42b8bd9cdb18a88 /js/app | |
parent | cb0ae9374f51572a0e4b560b61c258be97dea205 (diff) |
fix blocking vault export if a download or decryption failed
Signed-off-by: binsky <timo@binsky.org>
Diffstat (limited to 'js/app')
-rw-r--r-- | js/app/controllers/export.js | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/js/app/controllers/export.js b/js/app/controllers/export.js index b284048c..f152b506 100644 --- a/js/app/controllers/export.js +++ b/js/app/controllers/export.js @@ -72,15 +72,19 @@ if (vault.hasOwnProperty('credentials')) { if (vault.credentials.length > 0) { for (var i = 0; i < vault.credentials.length; i++) { - var _credential = angular.copy(vault.credentials[i]); - if (_credential.hidden === 0) { - var key = CredentialService.getSharedKeyFromCredential(_credential); - _credential = CredentialService.decryptCredential(_credential, key); - _credential.vault_key = key; - _credentials.push(_credential); + try { + var _credential = angular.copy(vault.credentials[i]); + if (_credential.hidden === 0) { + var key = CredentialService.getSharedKeyFromCredential(_credential); + _credential = CredentialService.decryptCredential(_credential, key); + _credential.vault_key = key; + _credentials.push(_credential); + } + } catch (e) { + _log($translate.instant('export.decrypt.error', {credential: (vault.credentials[i].label !== undefined) ? vault.credentials[i].label : i})); } } - $window.PassmanExporter[$scope.selectedExporter.id].export(_credentials, FileService, EncryptService).then(function () { + $window.PassmanExporter[$scope.selectedExporter.id].export(_credentials, FileService, EncryptService, $scope.log, $translate).then(function () { _log($translate.instant('done')); }); } @@ -92,4 +96,4 @@ }]); -}());
\ No newline at end of file +}()); |