1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 08:13:42 +00:00

refactoring with promises throughout

This commit is contained in:
Kyle Spearrin
2016-09-16 23:47:50 -04:00
parent 2fcf3ff129
commit ac4d5836b2
11 changed files with 94 additions and 223 deletions

View File

@@ -1,7 +1,7 @@
angular
.module('bit.vault')
.controller('vaultEditSiteController', function ($scope, $state, $stateParams, siteService, folderService, cipherService, $q, toastr) {
.controller('vaultEditSiteController', function ($scope, $state, $stateParams, siteService, folderService, cryptoService, $q, toastr) {
var returnScrollY = $stateParams.returnScrollY;
var returnSearchText = $stateParams.returnSearchText;
@@ -10,42 +10,25 @@ angular
};
siteService.get($stateParams.siteId, function (site) {
cipherService.decryptSite(site).then(function (model) {
$q.when(site.decrypt()).then(function (model) {
$scope.site = model;
});
});
var promises = [];
var decFolders = [{
id: null,
name: '(none)'
}];
folderService.getAll(function (folders) {
for (var i = 1; i < folders.length; i++) {
decFolders.push({
id: folders[i].id
});
var folderNamePromise = cipherService.decrypt(folders[i].name, i);
promises.push(folderNamePromise);
folderNamePromise.then(function (obj) {
decFolders[obj.index].name = obj.val;
});
}
$q.all(promises).then(function () {
$scope.folders = decFolders;
});
$q.when(folderService.getAllDecrypted()).then(function (folders) {
$scope.folders = folders.concat([{
id: null,
name: '(none)'
}]);
});
popupUtils.initListSectionItemListeners();
$scope.savePromise = null;
$scope.save = function (model) {
$scope.savePromise = cipherService.encryptSite(model).then(function (siteModel) {
$scope.savePromise = $q.when(siteService.encrypt(model)).then(function (siteModel) {
var site = new Site(siteModel, true);
return saveSite(site).then(function (site) {
return $q.when(siteService.saveWithServer(site)).then(function (site) {
toastr.success('Edited site');
$scope.close();
});
@@ -69,14 +52,4 @@ angular
});
}
};
function saveSite(site) {
return $q(function (resolve, reject) {
siteService.saveWithServer(site, function (site) {
resolve(site);
}, function (error) {
reject(error);
});
});
}
});