From a7c8dec73087e62edcac6383bfbdb734772d7f14 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 5 Sep 2016 11:05:27 -0400 Subject: [PATCH] adjustments to site getall --- src/models/domainModels.js | 7 +++++-- src/popup/app/vault/vaultController.js | 23 ++++++++++++++++++----- src/services/cryptoService.js | 2 +- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/models/domainModels.js b/src/models/domainModels.js index 7699bb5294..9759a750c8 100644 --- a/src/models/domainModels.js +++ b/src/models/domainModels.js @@ -13,10 +13,13 @@ var CipherString = function (encryptedString) { CipherString.prototype.decrypt = function (callback) { if (!_decryptedValue) { var cryptoService = chrome.extension.getBackgroundPage().cryptoService; - _decryptedValue = cryptoService.decrypt(this); + cryptoService.decrypt(this, function (decValue) { + _decryptedValue = decValue; + callback(_decryptedValue); + }); } - return _decryptedValue; + callback(_decryptedValue); }; }(); diff --git a/src/popup/app/vault/vaultController.js b/src/popup/app/vault/vaultController.js index 583b3aaf85..6db4aed574 100644 --- a/src/popup/app/vault/vaultController.js +++ b/src/popup/app/vault/vaultController.js @@ -16,8 +16,11 @@ siteService.getAll(function (sites) { for (var i = 0; i < folders.length; i++) { decFolders.push({ - id: folders[i].id, - name: folders[i].name.decrypt() + id: folders[i].id + }); + + folders[i].name.decrypt(function (name) { + decFolders.name = name; }); } @@ -25,10 +28,20 @@ decSites.push({ id: sites[j].id, folderId: sites[j].folderId, - favorite: sites[j].favorite, - name: sites[j].name.decrypt(), - username: sites[j].username.decrypt() + favorite: sites[j].favorite }); + + if (sites[j].name && sites[j].name.encryptedString) { + sites[j].name.decrypt(function (name) { + decSites.name = name; + }); + } + + if (sites[j].username && sites[j].username.encryptedString) { + sites[j].username.decrypt(function (username) { + decSites.username = username; + }); + } } $scope.sites = decSites; diff --git a/src/services/cryptoService.js b/src/services/cryptoService.js index c161807609..01bc010fc9 100644 --- a/src/services/cryptoService.js +++ b/src/services/cryptoService.js @@ -132,7 +132,7 @@ function initCryptoService() { throw 'callback function required'; } - if (cipherString === null || cipherString === undefined) { + if (cipherString === null || cipherString === undefined || !cipherString.encryptedString) { throw 'cannot decrypt nothing'; }