mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 00:03:56 +00:00
refactoring with promises throughout
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
angular
|
||||
.module('bit.current')
|
||||
|
||||
.controller('currentController', function ($scope, siteService, cipherService, tldjs, toastr, $q, $window, $state) {
|
||||
.controller('currentController', function ($scope, siteService, tldjs, toastr, $q, $window, $state) {
|
||||
var pageDetails = null,
|
||||
tabId = null,
|
||||
url = null,
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
angular
|
||||
.module('bit.services')
|
||||
|
||||
.factory('cipherService', function ($q, siteService) {
|
||||
var _service = {};
|
||||
|
||||
_service.encryptSite = function (site) {
|
||||
return $q.when(siteService.encrypt(site));
|
||||
};
|
||||
|
||||
_service.decryptSite = function (site) {
|
||||
return $q.when(site.decrypt());
|
||||
};
|
||||
|
||||
_service.decrypt = decrypt;
|
||||
|
||||
function decrypt(cipherString, index) {
|
||||
return $q(function (resolve, reject) {
|
||||
if (!cipherString) {
|
||||
resolve({
|
||||
val: null,
|
||||
index: index
|
||||
});
|
||||
}
|
||||
else {
|
||||
cipherString.decrypt(function (decVal) {
|
||||
resolve({
|
||||
val: decVal,
|
||||
index: index
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return _service;
|
||||
});
|
||||
@@ -1,7 +1,7 @@
|
||||
angular
|
||||
.module('bit.vault')
|
||||
|
||||
.controller('vaultAddSiteController', function ($scope, $state, $stateParams, siteService, folderService, cipherService, $q) {
|
||||
.controller('vaultAddSiteController', function ($scope, $state, $stateParams, siteService, folderService, cryptoService, $q, toastr) {
|
||||
var returnScrollY = $stateParams.returnScrollY;
|
||||
var returnSearchText = $stateParams.returnSearchText;
|
||||
var fromCurrent = $stateParams.uri !== null;
|
||||
@@ -20,35 +20,18 @@
|
||||
}
|
||||
popupUtils.initListSectionItemListeners();
|
||||
|
||||
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)'
|
||||
}]);
|
||||
});
|
||||
|
||||
$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('Added site');
|
||||
$scope.close();
|
||||
});
|
||||
@@ -69,14 +52,4 @@
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function saveSite(site) {
|
||||
return $q(function (resolve, reject) {
|
||||
siteService.saveWithServer(site, function (site) {
|
||||
resolve(site);
|
||||
}, function (error) {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
angular
|
||||
.module('bit.vault')
|
||||
|
||||
.controller('vaultController', function ($scope, $rootScope, siteService, folderService, $q, cipherService, $state, $stateParams, toastr) {
|
||||
.controller('vaultController', function ($scope, $rootScope, siteService, folderService, $q, $state, $stateParams, toastr) {
|
||||
$('#search').focus();
|
||||
|
||||
var delayLoad = true;
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
angular
|
||||
.module('bit.vault')
|
||||
|
||||
.controller('vaultViewSiteController', function ($scope, $state, $stateParams, siteService, cipherService, tldjs, toastr) {
|
||||
.controller('vaultViewSiteController', function ($scope, $state, $stateParams, siteService, tldjs, toastr, $q) {
|
||||
var returnScrollY = $stateParams.returnScrollY;
|
||||
var returnSearchText = $stateParams.returnSearchText;
|
||||
|
||||
$scope.site = null;
|
||||
siteService.get($stateParams.siteId, function (site) {
|
||||
cipherService.decryptSite(site).then(function (model) {
|
||||
$q.when(site.decrypt()).then(function (model) {
|
||||
$scope.site = model;
|
||||
|
||||
if (model.password) {
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
<script src="app/services/servicesModule.js"></script>
|
||||
<script src="app/services/backgroundService.js"></script>
|
||||
<script src="app/services/loginService.js"></script>
|
||||
<script src="app/services/cipherService.js"></script>
|
||||
<script src="app/services/validationService.js"></script>
|
||||
|
||||
<script src="app/global/globalModule.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user