mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-22 11:45:59 +01:00
bug fixes around fetching keys for org sync
This commit is contained in:
parent
a20881383e
commit
1ce4b5443b
@ -84,35 +84,41 @@ function initSyncService() {
|
|||||||
var deferred = Q.defer();
|
var deferred = Q.defer();
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
function setKeys(hasPrivateKey, response, d) {
|
||||||
|
if (response.organizations && response.organizations.length && !hasPrivateKey) {
|
||||||
|
self.apiService.getKeys(function (keysResponse) {
|
||||||
|
if (keysResponse.privateKey) {
|
||||||
|
self.cryptoService.setEncPrivateKey(keysResponse.privateKey).then(function () {
|
||||||
|
return self.cryptoService.setOrgKeys(response.organizations);
|
||||||
|
}, function () {
|
||||||
|
d.reject();
|
||||||
|
}).then(function () {
|
||||||
|
d.resolve();
|
||||||
|
}, function () {
|
||||||
|
d.reject();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
d.resolve();
|
||||||
|
}
|
||||||
|
}, function () {
|
||||||
|
d.reject();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
self.cryptoService.setOrgKeys(response.organizations).then(function () {
|
||||||
|
d.resolve();
|
||||||
|
}, function () {
|
||||||
|
d.reject();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self.apiService.getProfile(function (response) {
|
self.apiService.getProfile(function (response) {
|
||||||
self.cryptoService.getPrivateKey().then(function (privateKey) {
|
self.cryptoService.getPrivateKey().then(function (privateKey) {
|
||||||
if (response.organizations && !privateKey) {
|
setKeys(!!privateKey, response, deferred);
|
||||||
self.apiService.getKeys(function (keysResponse) {
|
}, function () {
|
||||||
if (keysResponse.privateKey) {
|
setKeys(false, response, deferred);
|
||||||
self.cryptoService.setEncPrivateKey(keysResponse.privateKey).then(function () {
|
|
||||||
return self.cryptoService.setOrgKeys(response.organizations);
|
|
||||||
}, function () {
|
|
||||||
deferred.reject();
|
|
||||||
}).then(function () {
|
|
||||||
deferred.resolve();
|
|
||||||
}, function () {
|
|
||||||
deferred.reject();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
deferred.resolve();
|
|
||||||
}
|
|
||||||
}, function () {
|
|
||||||
deferred.reject();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
self.cryptoService.setOrgKeys(response.organizations).then(function () {
|
|
||||||
deferred.resolve();
|
|
||||||
}, function () {
|
|
||||||
deferred.reject();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}, function () {
|
}, function () {
|
||||||
deferred.reject();
|
deferred.reject();
|
||||||
|
Loading…
Reference in New Issue
Block a user