mirror of
https://github.com/bitwarden/jslib
synced 2025-12-20 10:13:43 +00:00
Move encrypt to CipherView
This commit is contained in:
@@ -42,7 +42,7 @@ export class FolderAddEditComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const folder = await this.folderService.encrypt(this.folder);
|
const folder = await this.folder.encrypt(this.cryptoService);
|
||||||
this.formPromise = this.folderService.saveWithServer(folder);
|
this.formPromise = this.folderService.saveWithServer(folder);
|
||||||
await this.formPromise;
|
await this.formPromise;
|
||||||
this.platformUtilsService.showToast(
|
this.platformUtilsService.showToast(
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { FolderView } from "../models/view/folderView";
|
|||||||
|
|
||||||
export abstract class FolderService {
|
export abstract class FolderService {
|
||||||
clearCache: (userId?: string) => Promise<void>;
|
clearCache: (userId?: string) => Promise<void>;
|
||||||
encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise<Folder>;
|
|
||||||
get: (id: string) => Promise<Folder>;
|
get: (id: string) => Promise<Folder>;
|
||||||
getAll: () => Promise<Folder[]>;
|
getAll: () => Promise<Folder[]>;
|
||||||
getAllDecrypted: () => Promise<FolderView[]>;
|
getAllDecrypted: () => Promise<FolderView[]>;
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { CryptoService } from "jslib-common/abstractions/crypto.service";
|
import { CryptoService } from "jslib-common/abstractions/crypto.service";
|
||||||
|
|
||||||
import { Folder } from "../domain/folder";
|
import { Folder } from "../domain/folder";
|
||||||
import { SymmetricCryptoKey } from "../domain/symmetricCryptoKey";
|
|
||||||
import { ITreeNodeObject } from "../domain/treeNode";
|
import { ITreeNodeObject } from "../domain/treeNode";
|
||||||
|
|
||||||
export class FolderView implements ITreeNodeObject {
|
export class FolderView implements ITreeNodeObject {
|
||||||
@@ -9,6 +8,14 @@ export class FolderView implements ITreeNodeObject {
|
|||||||
name: string = null;
|
name: string = null;
|
||||||
revisionDate: Date = null;
|
revisionDate: Date = null;
|
||||||
|
|
||||||
|
async encrypt(cryptoService: CryptoService): Promise<Folder> {
|
||||||
|
return {
|
||||||
|
id: this.id,
|
||||||
|
name: await cryptoService.encrypt(this.name),
|
||||||
|
revisionDate: null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
static async fromFolder(cryptoService: CryptoService, folder: Folder): Promise<FolderView> {
|
static async fromFolder(cryptoService: CryptoService, folder: Folder): Promise<FolderView> {
|
||||||
const view = new FolderView();
|
const view = new FolderView();
|
||||||
view.id = folder.id;
|
view.id = folder.id;
|
||||||
|
|||||||
@@ -30,14 +30,6 @@ export class FolderService implements FolderServiceAbstraction {
|
|||||||
await this.stateService.setDecryptedFolders(null, { userId: userId });
|
await this.stateService.setDecryptedFolders(null, { userId: userId });
|
||||||
}
|
}
|
||||||
|
|
||||||
async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise<Folder> {
|
|
||||||
return {
|
|
||||||
id: model.id,
|
|
||||||
name: await this.cryptoService.encrypt(model.name, key),
|
|
||||||
revisionDate: null,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
async decrypt(model: Folder, key?: SymmetricCryptoKey): Promise<FolderView> {
|
async decrypt(model: Folder, key?: SymmetricCryptoKey): Promise<FolderView> {
|
||||||
const view = new FolderView();
|
const view = new FolderView();
|
||||||
view.id = model.id;
|
view.id = model.id;
|
||||||
|
|||||||
@@ -296,7 +296,7 @@ export class ImportService implements ImportServiceAbstraction {
|
|||||||
}
|
}
|
||||||
if (importResult.folders != null) {
|
if (importResult.folders != null) {
|
||||||
for (let i = 0; i < importResult.folders.length; i++) {
|
for (let i = 0; i < importResult.folders.length; i++) {
|
||||||
const f = await this.folderService.encrypt(importResult.folders[i]);
|
const f = await importResult.folders[i].encrypt(this.cryptoService);
|
||||||
request.folders.push(new FolderRequest(f));
|
request.folders.push(new FolderRequest(f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user