1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-13 06:43:35 +00:00

Checking for equivalent domains from settings

This commit is contained in:
Kyle Spearrin
2017-01-14 13:43:59 -05:00
parent bb56f9ee47
commit 54119e1e94
5 changed files with 37 additions and 17 deletions

View File

@@ -1,7 +1,8 @@
function LoginService(cryptoService, userService, apiService) {
function LoginService(cryptoService, userService, apiService, settingsService) {
this.cryptoService = cryptoService;
this.userService = userService;
this.apiService = apiService;
this.settingsService = settingsService;
this.decryptedLoginCache = null;
initLoginService();
@@ -133,10 +134,29 @@ function initLoginService() {
LoginService.prototype.getAllDecryptedForDomain = function (domain) {
var self = this;
return self.getAllDecrypted().then(function (logins) {
var eqDomainsPromise = self.settingsService.getEquivalentDomains().then(function (eqDomains) {
var matchingDomains = [];
for (var i = 0; i < eqDomains.length; i++) {
for (var j = 0; j < eqDomains[i].length; j++) {
if (eqDomains[i][j] === domain) {
matchingDomains = matchingDomains.concat(eqDomains[i]);
}
}
}
return matchingDomains;
});
var loginsPromise = self.getAllDecrypted().then(function (logins) {
return logins;
});
return Q.all([eqDomainsPromise, loginsPromise]).then(function (result) {
var matchingDomains = result[0];
var logins = result[1];
var loginsToReturn = [];
for (var i = 0; i < logins.length; i++) {
if (logins[i].domain === domain) {
if (logins[i].domain && matchingDomains.indexOf(logins[i].domain) >= 0) {
loginsToReturn.push(logins[i]);
}
}