mirror of
https://github.com/bitwarden/jslib
synced 2025-12-06 00:03:29 +00:00
Rename FolderView to FolderDecrypted
This commit is contained in:
@@ -25,7 +25,7 @@ import { Cipher } from "jslib-common/models/domain/cipher";
|
||||
import { CardView } from "jslib-common/models/view/cardView";
|
||||
import { CipherView } from "jslib-common/models/view/cipherView";
|
||||
import { CollectionView } from "jslib-common/models/view/collectionView";
|
||||
import { FolderView } from "jslib-common/models/view/folderView";
|
||||
import { FolderDecrypted } from "jslib-common/models/view/folderDecrypted";
|
||||
import { IdentityView } from "jslib-common/models/view/identityView";
|
||||
import { LoginUriView } from "jslib-common/models/view/loginUriView";
|
||||
import { LoginView } from "jslib-common/models/view/loginView";
|
||||
@@ -51,7 +51,7 @@ export class AddEditComponent implements OnInit {
|
||||
|
||||
editMode = false;
|
||||
cipher: CipherView;
|
||||
folders: FolderView[];
|
||||
folders: FolderDecrypted[];
|
||||
collections: CollectionView[] = [];
|
||||
title: string;
|
||||
formPromise: Promise<any>;
|
||||
|
||||
@@ -5,16 +5,16 @@ import { FolderService } from "jslib-common/abstractions/folder.service";
|
||||
import { I18nService } from "jslib-common/abstractions/i18n.service";
|
||||
import { LogService } from "jslib-common/abstractions/log.service";
|
||||
import { PlatformUtilsService } from "jslib-common/abstractions/platformUtils.service";
|
||||
import { FolderView } from "jslib-common/models/view/folderView";
|
||||
import { FolderDecrypted } from "jslib-common/models/view/folderDecrypted";
|
||||
|
||||
@Directive()
|
||||
export class FolderAddEditComponent implements OnInit {
|
||||
@Input() folderId: string;
|
||||
@Output() onSavedFolder = new EventEmitter<FolderView>();
|
||||
@Output() onDeletedFolder = new EventEmitter<FolderView>();
|
||||
@Output() onSavedFolder = new EventEmitter<FolderDecrypted>();
|
||||
@Output() onDeletedFolder = new EventEmitter<FolderDecrypted>();
|
||||
|
||||
editMode = false;
|
||||
folder: FolderView = new FolderView();
|
||||
folder: FolderDecrypted = new FolderDecrypted();
|
||||
title: string;
|
||||
formPromise: Promise<any>;
|
||||
deletePromise: Promise<any>;
|
||||
@@ -90,7 +90,7 @@ export class FolderAddEditComponent implements OnInit {
|
||||
this.editMode = true;
|
||||
this.title = this.i18nService.t("editFolder");
|
||||
const folder = await this.folderService.get(this.folderId);
|
||||
this.folder = await FolderView.fromFolder(this.cryptoService, folder);
|
||||
this.folder = await FolderDecrypted.fromFolder(this.cryptoService, folder);
|
||||
} else {
|
||||
this.title = this.i18nService.t("addFolder");
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import { StateService } from "jslib-common/abstractions/state.service";
|
||||
import { CipherType } from "jslib-common/enums/cipherType";
|
||||
import { TreeNode } from "jslib-common/models/domain/treeNode";
|
||||
import { CollectionView } from "jslib-common/models/view/collectionView";
|
||||
import { FolderView } from "jslib-common/models/view/folderView";
|
||||
import { FolderDecrypted } from "jslib-common/models/view/folderDecrypted";
|
||||
|
||||
@Directive()
|
||||
export class GroupingsComponent {
|
||||
@@ -19,13 +19,13 @@ export class GroupingsComponent {
|
||||
@Output() onFavoritesClicked = new EventEmitter();
|
||||
@Output() onTrashClicked = new EventEmitter();
|
||||
@Output() onCipherTypeClicked = new EventEmitter<CipherType>();
|
||||
@Output() onFolderClicked = new EventEmitter<FolderView>();
|
||||
@Output() onFolderClicked = new EventEmitter<FolderDecrypted>();
|
||||
@Output() onAddFolder = new EventEmitter();
|
||||
@Output() onEditFolder = new EventEmitter<FolderView>();
|
||||
@Output() onEditFolder = new EventEmitter<FolderDecrypted>();
|
||||
@Output() onCollectionClicked = new EventEmitter<CollectionView>();
|
||||
|
||||
folders: FolderView[];
|
||||
nestedFolders: TreeNode<FolderView>[];
|
||||
folders: FolderDecrypted[];
|
||||
nestedFolders: TreeNode<FolderDecrypted>[];
|
||||
collections: CollectionView[];
|
||||
nestedCollections: TreeNode<CollectionView>[];
|
||||
loaded = false;
|
||||
@@ -107,7 +107,7 @@ export class GroupingsComponent {
|
||||
this.onCipherTypeClicked.emit(type);
|
||||
}
|
||||
|
||||
selectFolder(folder: FolderView) {
|
||||
selectFolder(folder: FolderDecrypted) {
|
||||
this.clearSelections();
|
||||
this.selectedFolder = true;
|
||||
this.selectedFolderId = folder.id;
|
||||
@@ -118,7 +118,7 @@ export class GroupingsComponent {
|
||||
this.onAddFolder.emit();
|
||||
}
|
||||
|
||||
editFolder(folder: FolderView) {
|
||||
editFolder(folder: FolderDecrypted) {
|
||||
this.onEditFolder.emit(folder);
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ export class GroupingsComponent {
|
||||
this.selectedCollectionId = null;
|
||||
}
|
||||
|
||||
async collapse(grouping: FolderView | CollectionView, idPrefix = "") {
|
||||
async collapse(grouping: FolderDecrypted | CollectionView, idPrefix = "") {
|
||||
if (grouping.id == null) {
|
||||
return;
|
||||
}
|
||||
@@ -151,7 +151,7 @@ export class GroupingsComponent {
|
||||
await this.stateService.setCollapsedGroupings(Array.from(this.collapsedGroupings));
|
||||
}
|
||||
|
||||
isCollapsed(grouping: FolderView | CollectionView, idPrefix = "") {
|
||||
isCollapsed(grouping: FolderDecrypted | CollectionView, idPrefix = "") {
|
||||
return this.collapsedGroupings.has(idPrefix + grouping.id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import Substitute from "@fluffy-spoon/substitute";
|
||||
import { CryptoService } from "jslib-common/abstractions/crypto.service";
|
||||
import { FolderData } from "jslib-common/models/data/folderData";
|
||||
import { Folder } from "jslib-common/models/domain/folder";
|
||||
import { FolderView } from "jslib-common/models/view/folderView";
|
||||
import { FolderDecrypted } from "jslib-common/models/view/folderDecrypted";
|
||||
|
||||
import { mockEnc } from "../utils";
|
||||
|
||||
@@ -31,7 +31,7 @@ describe("Folder", () => {
|
||||
};
|
||||
|
||||
const cryptoService = Substitute.for<CryptoService>();
|
||||
const view = await FolderView.fromFolder(cryptoService, folder);
|
||||
const view = await FolderDecrypted.fromFolder(cryptoService, folder);
|
||||
|
||||
expect(view).toEqual({
|
||||
id: "id",
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import { FolderData } from "../models/data/folderData";
|
||||
import { Folder } from "../models/domain/folder";
|
||||
import { TreeNode } from "../models/domain/treeNode";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
|
||||
export abstract class FolderService {
|
||||
clearCache: (userId?: string) => Promise<void>;
|
||||
get: (id: string) => Promise<Folder>;
|
||||
getAll: () => Promise<Folder[]>;
|
||||
getAllDecrypted: () => Promise<FolderView[]>;
|
||||
getAllNested: () => Promise<TreeNode<FolderView>[]>;
|
||||
getNested: (id: string) => Promise<TreeNode<FolderView>>;
|
||||
getAllDecrypted: () => Promise<FolderDecrypted[]>;
|
||||
getAllNested: () => Promise<TreeNode<FolderDecrypted>[]>;
|
||||
getNested: (id: string) => Promise<TreeNode<FolderDecrypted>>;
|
||||
saveWithServer: (folder: Folder) => Promise<any>;
|
||||
upsert: (folder: FolderData) => Promise<any>;
|
||||
replace: (folders: { [id: string]: FolderData }) => Promise<any>;
|
||||
|
||||
@@ -21,7 +21,7 @@ import { SymmetricCryptoKey } from "../models/domain/symmetricCryptoKey";
|
||||
import { WindowState } from "../models/domain/windowState";
|
||||
import { CipherView } from "../models/view/cipherView";
|
||||
import { CollectionView } from "../models/view/collectionView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
import { SendView } from "../models/view/sendView";
|
||||
|
||||
export abstract class StateService<T extends Account = Account> {
|
||||
@@ -84,8 +84,8 @@ export abstract class StateService<T extends Account = Account> {
|
||||
value: SymmetricCryptoKey,
|
||||
options?: StorageOptions
|
||||
) => Promise<void>;
|
||||
getDecryptedFolders: (options?: StorageOptions) => Promise<FolderView[]>;
|
||||
setDecryptedFolders: (value: FolderView[], options?: StorageOptions) => Promise<void>;
|
||||
getDecryptedFolders: (options?: StorageOptions) => Promise<FolderDecrypted[]>;
|
||||
setDecryptedFolders: (value: FolderDecrypted[], options?: StorageOptions) => Promise<void>;
|
||||
getDecryptedOrganizationKeys: (
|
||||
options?: StorageOptions
|
||||
) => Promise<Map<string, SymmetricCryptoKey>>;
|
||||
|
||||
@@ -9,7 +9,7 @@ import { ImportResult } from "../models/domain/importResult";
|
||||
import { CipherView } from "../models/view/cipherView";
|
||||
import { CollectionView } from "../models/view/collectionView";
|
||||
import { FieldView } from "../models/view/fieldView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
import { LoginUriView } from "../models/view/loginUriView";
|
||||
import { LoginView } from "../models/view/loginView";
|
||||
import { SecureNoteView } from "../models/view/secureNoteView";
|
||||
@@ -425,7 +425,7 @@ export abstract class BaseImporter {
|
||||
}
|
||||
|
||||
if (addFolder) {
|
||||
const f = new FolderView();
|
||||
const f = new FolderDecrypted();
|
||||
f.name = folderName;
|
||||
result.folders.push(f);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { FolderView } from "jslib-common/models/view/folderView";
|
||||
import { FolderDecrypted } from "jslib-common/models/view/folderDecrypted";
|
||||
|
||||
import { CryptoService } from "../abstractions/crypto.service";
|
||||
import { I18nService } from "../abstractions/i18n.service";
|
||||
@@ -76,7 +76,7 @@ export class BitwardenJsonImporter extends BaseImporter implements Importer {
|
||||
const folder = FolderWithIdExport.toDomain(f);
|
||||
if (folder != null) {
|
||||
folder.id = null;
|
||||
const view = await FolderView.fromFolder(this.cryptoService, folder);
|
||||
const view = await FolderDecrypted.fromFolder(this.cryptoService, folder);
|
||||
groupingsMap.set(f.id, this.result.folders.length);
|
||||
this.result.folders.push(view);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { FieldType } from "../enums/fieldType";
|
||||
import { ImportResult } from "../models/domain/importResult";
|
||||
import { CardView } from "../models/view/cardView";
|
||||
import { CipherView } from "../models/view/cipherView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
|
||||
import { BaseImporter } from "./baseImporter";
|
||||
import { Importer } from "./importer";
|
||||
@@ -23,7 +23,7 @@ export class EnpassJsonImporter extends BaseImporter implements Importer {
|
||||
this.flattenFolderTree(null, folderTree, foldersMap);
|
||||
foldersMap.forEach((val, key) => {
|
||||
foldersIndexMap.set(key, result.folders.length);
|
||||
const f = new FolderView();
|
||||
const f = new FolderDecrypted();
|
||||
f.name = val;
|
||||
result.folders.push(f);
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { FieldType } from "../enums/fieldType";
|
||||
import { ImportResult } from "../models/domain/importResult";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
|
||||
import { BaseImporter } from "./baseImporter";
|
||||
import { Importer } from "./importer";
|
||||
@@ -42,7 +42,7 @@ export class KeePass2XmlImporter extends BaseImporter implements Importer {
|
||||
}
|
||||
const nameEl = this.querySelectorDirectChild(node, "Name");
|
||||
groupName += nameEl == null ? "-" : nameEl.textContent;
|
||||
const folder = new FolderView();
|
||||
const folder = new FolderDecrypted();
|
||||
folder.name = groupName;
|
||||
this.result.folders.push(folder);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { SecureNoteType } from "../enums/secureNoteType";
|
||||
import { ImportResult } from "../models/domain/importResult";
|
||||
import { CardView } from "../models/view/cardView";
|
||||
import { CipherView } from "../models/view/cipherView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
import { IdentityView } from "../models/view/identityView";
|
||||
import { LoginView } from "../models/view/loginView";
|
||||
import { SecureNoteView } from "../models/view/secureNoteView";
|
||||
@@ -70,7 +70,7 @@ export class LastPassCsvImporter extends BaseImporter implements Importer {
|
||||
result.ciphers.push(cipher);
|
||||
|
||||
if (addFolder) {
|
||||
const f = new FolderView();
|
||||
const f = new FolderDecrypted();
|
||||
f.name = grouping;
|
||||
result.folders.push(f);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { CipherType } from "../enums/cipherType";
|
||||
import { ImportResult } from "../models/domain/importResult";
|
||||
import { CardView } from "../models/view/cardView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
|
||||
import { BaseImporter } from "./baseImporter";
|
||||
import { Importer } from "./importer";
|
||||
@@ -22,7 +22,7 @@ export class PasswordBossJsonImporter extends BaseImporter implements Importer {
|
||||
const foldersIndexMap = new Map<string, number>();
|
||||
foldersMap.forEach((val, key) => {
|
||||
foldersIndexMap.set(key, result.folders.length);
|
||||
const f = new FolderView();
|
||||
const f = new FolderDecrypted();
|
||||
f.name = val;
|
||||
result.folders.push(f);
|
||||
});
|
||||
|
||||
@@ -4,7 +4,7 @@ import { SecureNoteType } from "../enums/secureNoteType";
|
||||
import { ImportResult } from "../models/domain/importResult";
|
||||
import { CipherView } from "../models/view/cipherView";
|
||||
import { FieldView } from "../models/view/fieldView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
import { SecureNoteView } from "../models/view/secureNoteView";
|
||||
|
||||
import { BaseImporter } from "./baseImporter";
|
||||
@@ -33,7 +33,7 @@ export class SafeInCloudXmlImporter extends BaseImporter implements Importer {
|
||||
const id = labelEl.getAttribute("id");
|
||||
if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {
|
||||
foldersMap.set(id, result.folders.length);
|
||||
const folder = new FolderView();
|
||||
const folder = new FolderDecrypted();
|
||||
folder.name = name;
|
||||
result.folders.push(folder);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import { ProviderData } from "../data/providerData";
|
||||
import { SendData } from "../data/sendData";
|
||||
import { CipherView } from "../view/cipherView";
|
||||
import { CollectionView } from "../view/collectionView";
|
||||
import { FolderView } from "../view/folderView";
|
||||
import { FolderDecrypted } from "../view/folderDecrypted";
|
||||
import { SendView } from "../view/sendView";
|
||||
|
||||
import { EncString } from "./encString";
|
||||
@@ -35,9 +35,9 @@ export class AccountData {
|
||||
CipherData,
|
||||
CipherView
|
||||
>();
|
||||
folders?: DataEncryptionPair<FolderData, FolderView> = new DataEncryptionPair<
|
||||
folders?: DataEncryptionPair<FolderData, FolderDecrypted> = new DataEncryptionPair<
|
||||
FolderData,
|
||||
FolderView
|
||||
FolderDecrypted
|
||||
>();
|
||||
localData?: any;
|
||||
sends?: DataEncryptionPair<SendData, SendView> = new DataEncryptionPair<SendData, SendView>();
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { CipherView } from "../view/cipherView";
|
||||
import { CollectionView } from "../view/collectionView";
|
||||
import { FolderView } from "../view/folderView";
|
||||
import { FolderDecrypted } from "../view/folderDecrypted";
|
||||
|
||||
export class ImportResult {
|
||||
success = false;
|
||||
missingPassword = false;
|
||||
errorMessage: string;
|
||||
ciphers: CipherView[] = [];
|
||||
folders: FolderView[] = [];
|
||||
folders: FolderDecrypted[] = [];
|
||||
folderRelationships: [number, number][] = [];
|
||||
collections: CollectionView[] = [];
|
||||
collectionRelationships: [number, number][] = [];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { EncString } from "../domain/encString";
|
||||
import { Folder as FolderDomain } from "../domain/folder";
|
||||
import { FolderView } from "../view/folderView";
|
||||
import { FolderDecrypted } from "../view/folderDecrypted";
|
||||
|
||||
export class FolderExport {
|
||||
static template(): FolderExport {
|
||||
@@ -9,7 +9,7 @@ export class FolderExport {
|
||||
return req;
|
||||
}
|
||||
|
||||
static toView(req: FolderExport, view = new FolderView()) {
|
||||
static toView(req: FolderExport, view = new FolderDecrypted()) {
|
||||
view.name = req.name;
|
||||
return view;
|
||||
}
|
||||
@@ -22,8 +22,8 @@ export class FolderExport {
|
||||
name: string;
|
||||
|
||||
// Use build method instead of ctor so that we can control order of JSON stringify for pretty print
|
||||
build(o: FolderView | FolderDomain) {
|
||||
if (o instanceof FolderView) {
|
||||
build(o: FolderDecrypted | FolderDomain) {
|
||||
if (o instanceof FolderDecrypted) {
|
||||
this.name = o.name;
|
||||
} else {
|
||||
this.name = o.name?.encryptedString;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Folder as FolderDomain } from "../domain/folder";
|
||||
import { FolderView } from "../view/folderView";
|
||||
import { FolderDecrypted } from "../view/folderDecrypted";
|
||||
|
||||
import { FolderExport } from "./folderExport";
|
||||
|
||||
@@ -7,7 +7,7 @@ export class FolderWithIdExport extends FolderExport {
|
||||
id: string;
|
||||
|
||||
// Use build method instead of ctor so that we can control order of JSON stringify for pretty print
|
||||
build(o: FolderView | FolderDomain) {
|
||||
build(o: FolderDecrypted | FolderDomain) {
|
||||
this.id = o.id;
|
||||
super.build(o);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { CryptoService } from "jslib-common/abstractions/crypto.service";
|
||||
import { Folder } from "../domain/folder";
|
||||
import { ITreeNodeObject } from "../domain/treeNode";
|
||||
|
||||
export class FolderView implements ITreeNodeObject {
|
||||
export class FolderDecrypted implements ITreeNodeObject {
|
||||
id: string = null;
|
||||
name: string = null;
|
||||
revisionDate: Date = null;
|
||||
@@ -16,8 +16,8 @@ export class FolderView implements ITreeNodeObject {
|
||||
};
|
||||
}
|
||||
|
||||
static async fromFolder(cryptoService: CryptoService, folder: Folder): Promise<FolderView> {
|
||||
const view = new FolderView();
|
||||
static async fromFolder(cryptoService: CryptoService, folder: Folder): Promise<FolderDecrypted> {
|
||||
const view = new FolderDecrypted();
|
||||
view.id = folder.id;
|
||||
view.name = await folder.name.decryptWithCryptoService(cryptoService);
|
||||
view.revisionDate = folder.revisionDate;
|
||||
@@ -25,7 +25,7 @@ import { CollectionDetailsResponse } from "../models/response/collectionResponse
|
||||
import { CipherView } from "../models/view/cipherView";
|
||||
import { CollectionView } from "../models/view/collectionView";
|
||||
import { EventView } from "../models/view/eventView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
|
||||
export class ExportService implements ExportServiceAbstraction {
|
||||
constructor(
|
||||
@@ -110,7 +110,7 @@ export class ExportService implements ExportServiceAbstraction {
|
||||
}
|
||||
|
||||
private async getDecryptedExport(format: "json" | "csv"): Promise<string> {
|
||||
let decFolders: FolderView[] = [];
|
||||
let decFolders: FolderDecrypted[] = [];
|
||||
let decCiphers: CipherView[] = [];
|
||||
const promises = [];
|
||||
|
||||
@@ -129,7 +129,7 @@ export class ExportService implements ExportServiceAbstraction {
|
||||
await Promise.all(promises);
|
||||
|
||||
if (format === "csv") {
|
||||
const foldersMap = new Map<string, FolderView>();
|
||||
const foldersMap = new Map<string, FolderDecrypted>();
|
||||
decFolders.forEach((f) => {
|
||||
if (f.id != null) {
|
||||
foldersMap.set(f.id, f);
|
||||
|
||||
@@ -12,7 +12,7 @@ import { Folder } from "../models/domain/folder";
|
||||
import { TreeNode } from "../models/domain/treeNode";
|
||||
import { FolderRequest } from "../models/request/folderRequest";
|
||||
import { FolderResponse } from "../models/response/folderResponse";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
|
||||
const NestingDelimiter = "/";
|
||||
|
||||
@@ -41,7 +41,7 @@ export class FolderService implements FolderServiceAbstraction {
|
||||
return Object.values(folders).map((f) => f.toFolder());
|
||||
}
|
||||
|
||||
async getAllDecrypted(): Promise<FolderView[]> {
|
||||
async getAllDecrypted(): Promise<FolderDecrypted[]> {
|
||||
const decryptedFolders = await this.stateService.getDecryptedFolders();
|
||||
if (decryptedFolders != null) {
|
||||
return decryptedFolders;
|
||||
@@ -52,19 +52,19 @@ export class FolderService implements FolderServiceAbstraction {
|
||||
throw new Error("No key.");
|
||||
}
|
||||
|
||||
const decFolders: FolderView[] = [];
|
||||
const decFolders: FolderDecrypted[] = [];
|
||||
const promises: Promise<any>[] = [];
|
||||
const folders = await this.getAll();
|
||||
folders.forEach((folder) => {
|
||||
promises.push(
|
||||
FolderView.fromFolder(this.cryptoService, folder).then((f) => decFolders.push(f))
|
||||
FolderDecrypted.fromFolder(this.cryptoService, folder).then((f) => decFolders.push(f))
|
||||
);
|
||||
});
|
||||
|
||||
await Promise.all(promises);
|
||||
decFolders.sort(Utils.getSortFunction(this.i18nService, "name"));
|
||||
|
||||
const noneFolder = new FolderView();
|
||||
const noneFolder = new FolderDecrypted();
|
||||
noneFolder.name = this.i18nService.t("noneFolder");
|
||||
decFolders.push(noneFolder);
|
||||
|
||||
@@ -72,11 +72,11 @@ export class FolderService implements FolderServiceAbstraction {
|
||||
return decFolders;
|
||||
}
|
||||
|
||||
async getAllNested(): Promise<TreeNode<FolderView>[]> {
|
||||
async getAllNested(): Promise<TreeNode<FolderDecrypted>[]> {
|
||||
const folders = await this.getAllDecrypted();
|
||||
const nodes: TreeNode<FolderView>[] = [];
|
||||
const nodes: TreeNode<FolderDecrypted>[] = [];
|
||||
folders.forEach((f) => {
|
||||
const folderCopy = new FolderView();
|
||||
const folderCopy = new FolderDecrypted();
|
||||
folderCopy.id = f.id;
|
||||
folderCopy.revisionDate = f.revisionDate;
|
||||
const parts = f.name != null ? f.name.replace(/^\/+|\/+$/g, "").split(NestingDelimiter) : [];
|
||||
@@ -85,9 +85,9 @@ export class FolderService implements FolderServiceAbstraction {
|
||||
return nodes;
|
||||
}
|
||||
|
||||
async getNested(id: string): Promise<TreeNode<FolderView>> {
|
||||
async getNested(id: string): Promise<TreeNode<FolderDecrypted>> {
|
||||
const folders = await this.getAllNested();
|
||||
return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode<FolderView>;
|
||||
return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode<FolderDecrypted>;
|
||||
}
|
||||
|
||||
async saveWithServer(folder: Folder): Promise<any> {
|
||||
|
||||
@@ -30,7 +30,7 @@ import { SymmetricCryptoKey } from "../models/domain/symmetricCryptoKey";
|
||||
import { WindowState } from "../models/domain/windowState";
|
||||
import { CipherView } from "../models/view/cipherView";
|
||||
import { CollectionView } from "../models/view/collectionView";
|
||||
import { FolderView } from "../models/view/folderView";
|
||||
import { FolderDecrypted } from "../models/view/folderDecrypted";
|
||||
import { SendView } from "../models/view/sendView";
|
||||
|
||||
const keys = {
|
||||
@@ -562,12 +562,12 @@ export class StateService<
|
||||
await this.saveAccount(account, this.reconcileOptions(options, this.defaultInMemoryOptions));
|
||||
}
|
||||
|
||||
async getDecryptedFolders(options?: StorageOptions): Promise<FolderView[]> {
|
||||
async getDecryptedFolders(options?: StorageOptions): Promise<FolderDecrypted[]> {
|
||||
return (await this.getAccount(this.reconcileOptions(options, this.defaultInMemoryOptions)))
|
||||
?.data?.folders?.decrypted;
|
||||
}
|
||||
|
||||
async setDecryptedFolders(value: FolderView[], options?: StorageOptions): Promise<void> {
|
||||
async setDecryptedFolders(value: FolderDecrypted[], options?: StorageOptions): Promise<void> {
|
||||
const account = await this.getAccount(
|
||||
this.reconcileOptions(options, this.defaultInMemoryOptions)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user