From c7e8f1d13f6268c290655d68b57349131af0bbe9 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 23 Jul 2018 14:24:27 -0400 Subject: [PATCH] Revert "make getAllDecrypted synchronous" This reverts commit 51ee0b065abb965980e8fe398b568c015e557a2f. --- src/services/cipher.service.ts | 9 ++++++--- src/services/collection.service.ts | 8 +++++--- src/services/folder.service.ts | 9 ++++++--- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/services/cipher.service.ts b/src/services/cipher.service.ts index 053606858c8..b7b82eece94 100644 --- a/src/services/cipher.service.ts +++ b/src/services/cipher.service.ts @@ -181,10 +181,13 @@ export class CipherService implements CipherServiceAbstraction { throw new Error('No key.'); } + const promises: any[] = []; const ciphers = await this.getAll(); - for (let i = 0; i < ciphers.length; i++) { - decCiphers.push(await ciphers[i].decrypt()); - } + ciphers.forEach((cipher) => { + promises.push(cipher.decrypt().then((c) => decCiphers.push(c))); + }); + + await Promise.all(promises); decCiphers.sort(this.getLocaleSortingFunction()); this.decryptedCipherCache = decCiphers; return this.decryptedCipherCache; diff --git a/src/services/collection.service.ts b/src/services/collection.service.ts index cd259fbc47b..152d91713b4 100644 --- a/src/services/collection.service.ts +++ b/src/services/collection.service.ts @@ -48,9 +48,11 @@ export class CollectionService implements CollectionServiceAbstraction { return []; } const decCollections: CollectionView[] = []; - for (let i = 0; i < collections.length; i++) { - decCollections.push(await collections[i].decrypt()); - } + const promises: Array> = []; + collections.forEach((collection) => { + promises.push(collection.decrypt().then((c) => decCollections.push(c))); + }); + await Promise.all(promises); return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name')); } diff --git a/src/services/folder.service.ts b/src/services/folder.service.ts index b37b97786b2..c03cb0c2986 100644 --- a/src/services/folder.service.ts +++ b/src/services/folder.service.ts @@ -78,10 +78,13 @@ export class FolderService implements FolderServiceAbstraction { } const decFolders: FolderView[] = []; + const promises: Array> = []; const folders = await this.getAll(); - for (let i = 0; i < folders.length; i++) { - decFolders.push(await folders[i].decrypt()); - } + folders.forEach((folder) => { + promises.push(folder.decrypt().then((f) => decFolders.push(f))); + }); + + await Promise.all(promises); decFolders.sort(Utils.getSortFunction(this.i18nService, 'name')); const noneFolder = new FolderView();