1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-17 00:33:44 +00:00

apply collection and folder views

This commit is contained in:
Kyle Spearrin
2018-01-25 14:57:42 -05:00
parent 8d2a90e496
commit 3869dcaf7b
10 changed files with 74 additions and 36 deletions

View File

@@ -6,6 +6,8 @@ import { FolderRequest } from '../models/request/folderRequest';
import { FolderResponse } from '../models/response/folderResponse';
import { FolderView } from '../models/view/folderView';
import { ApiService } from '../abstractions/api.service';
import { CryptoService } from '../abstractions/crypto.service';
import { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';
@@ -17,7 +19,7 @@ const Keys = {
};
export class FolderService implements FolderServiceAbstraction {
decryptedFolderCache: any[];
decryptedFolderCache: FolderView[];
constructor(private cryptoService: CryptoService, private userService: UserService,
private noneFolder: () => string, private apiService: ApiService,
@@ -28,7 +30,7 @@ export class FolderService implements FolderServiceAbstraction {
this.decryptedFolderCache = null;
}
async encrypt(model: any): Promise<Folder> {
async encrypt(model: FolderView): Promise<Folder> {
const folder = new Folder();
folder.id = model.id;
folder.name = await this.cryptoService.encrypt(model.name);
@@ -59,12 +61,12 @@ export class FolderService implements FolderServiceAbstraction {
return response;
}
async getAllDecrypted(): Promise<any[]> {
async getAllDecrypted(): Promise<FolderView[]> {
if (this.decryptedFolderCache != null) {
return this.decryptedFolderCache;
}
const decFolders: any[] = [{
const decFolders: FolderView[] = [{
id: null,
name: this.noneFolder(),
}];
@@ -77,9 +79,7 @@ export class FolderService implements FolderServiceAbstraction {
const promises: Array<Promise<any>> = [];
const folders = await this.getAll();
folders.forEach((folder) => {
promises.push(folder.decrypt().then((f: any) => {
decFolders.push(f);
}));
promises.push(folder.decrypt().then((f) => decFolders.push(f)));
});
await Promise.all(promises);