From 85e327ab7d745b5b1462ef4c808b27ad7bb0ea33 Mon Sep 17 00:00:00 2001 From: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com> Date: Tue, 21 Jun 2022 16:17:41 -0400 Subject: [PATCH] Suggested changes from CR --- .../user-secret-prompt.component.html | 36 ----------- .../user-secret-prompt.component.ts | 8 --- .../src/services/userSecretPrompt.service.ts | 10 ---- .../user-secret-prompt.component.ts | 60 ------------------- .../src/services/userSecretPrompt.service.ts | 54 ----------------- .../abstractions/userSecretPrompt.service.ts | 9 --- .../userVerificationPrompt.service.ts | 9 +++ libs/common/src/enums/encryptedExportType.ts | 4 ++ 8 files changed, 13 insertions(+), 177 deletions(-) delete mode 100644 apps/web/src/app/components/user-secret-prompt.component.html delete mode 100644 apps/web/src/app/components/user-secret-prompt.component.ts delete mode 100644 apps/web/src/services/userSecretPrompt.service.ts delete mode 100644 libs/angular/src/components/user-secret-prompt.component.ts delete mode 100644 libs/angular/src/services/userSecretPrompt.service.ts delete mode 100644 libs/common/src/abstractions/userSecretPrompt.service.ts create mode 100644 libs/common/src/abstractions/userVerificationPrompt.service.ts create mode 100644 libs/common/src/enums/encryptedExportType.ts diff --git a/apps/web/src/app/components/user-secret-prompt.component.html b/apps/web/src/app/components/user-secret-prompt.component.html deleted file mode 100644 index c5de28156c7..00000000000 --- a/apps/web/src/app/components/user-secret-prompt.component.html +++ /dev/null @@ -1,36 +0,0 @@ - diff --git a/apps/web/src/app/components/user-secret-prompt.component.ts b/apps/web/src/app/components/user-secret-prompt.component.ts deleted file mode 100644 index 2dfc34c59e5..00000000000 --- a/apps/web/src/app/components/user-secret-prompt.component.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Component } from "@angular/core"; - -import { UserSecretPromptComponent as BaseUserSecretPrompt } from "@bitwarden/angular/components/user-secret-prompt.component"; - -@Component({ - templateUrl: "user-secret-prompt.component.html", -}) -export class UserSecretPromptComponent extends BaseUserSecretPrompt {} diff --git a/apps/web/src/services/userSecretPrompt.service.ts b/apps/web/src/services/userSecretPrompt.service.ts deleted file mode 100644 index dfbd61bbeb5..00000000000 --- a/apps/web/src/services/userSecretPrompt.service.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Injectable } from "@angular/core"; - -import { UserSecretPromptService as BaseUserSecretPrompt } from "@bitwarden/angular/services/userSecretPrompt.service"; - -import { UserSecretPromptComponent } from "../app/components/user-secret-prompt.component"; - -@Injectable() -export class UserSecretPromptService extends BaseUserSecretPrompt { - component = UserSecretPromptComponent; -} diff --git a/libs/angular/src/components/user-secret-prompt.component.ts b/libs/angular/src/components/user-secret-prompt.component.ts deleted file mode 100644 index 92cb93d29a8..00000000000 --- a/libs/angular/src/components/user-secret-prompt.component.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { Directive } from "@angular/core"; -import { FormBuilder, FormControl } from "@angular/forms"; - -import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { ImportService } from "@bitwarden/common/abstractions/import.service"; -import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { UserVerificationService } from "@bitwarden/common/abstractions/userVerification.service"; - -import { ModalConfig } from "../services/modal.service"; - -import { ModalRef } from "./modal/modal.ref"; - -/** - * Used to verify the user's secret, you can customize all of the text in the modal. - */ -@Directive() -export class UserSecretPromptComponent { - showPassword = false; - organizationId = ""; - confirmDescription = ""; - confirmButtonText = ""; - modalTitle = ""; - - myGroup = this.formBuilder.group({ - secret: new FormControl(), - }); - - constructor( - private modalRef: ModalRef, - private cryptoService: CryptoService, - private platformUtilsService: PlatformUtilsService, - private i18nService: I18nService, - private importService: ImportService, - protected config: ModalConfig, - protected userVerificationService: UserVerificationService, - private formBuilder: FormBuilder - ) { - this.confirmDescription = config.data.confirmDescription; - this.confirmButtonText = config.data.confirmButtonText; - this.modalTitle = config.data.modalTitle; - } - - togglePassword() { - this.showPassword = !this.showPassword; - } - - async submit() { - const secret = this.myGroup.get("secret").value; - - try { - await this.userVerificationService.verifyUser(secret); - } catch (e) { - this.modalRef.close(false); - return; - } - - this.modalRef.close(true); - } -} diff --git a/libs/angular/src/services/userSecretPrompt.service.ts b/libs/angular/src/services/userSecretPrompt.service.ts deleted file mode 100644 index af1b61ec262..00000000000 --- a/libs/angular/src/services/userSecretPrompt.service.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Injectable } from "@angular/core"; - -import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; -import { UserSecretPromptService as UserSecretPromptServiceAbstraction } from "@bitwarden/common/abstractions/userSecretPrompt.service"; - -import { UserSecretPromptComponent } from "../components/user-secret-prompt.component"; - -import { ModalService } from "./modal.service"; - -/** - * Used to verify the user's File Password for the "Import passwords using File Password" feature only. - */ -@Injectable() -export class UserSecretPromptService implements UserSecretPromptServiceAbstraction { - protected component = UserSecretPromptComponent; - - constructor( - private modalService: ModalService, - private keyConnectorService: KeyConnectorService - ) {} - - protectedFields() { - return ["TOTP", "Password", "H_Field", "Card Number", "Security Code"]; - } - - async showPasswordPrompt( - confirmDescription: string, - confirmButtonText: string, - modalTitle: string - ) { - if (!(await this.enabled())) { - return true; - } - - const ref = await this.modalService.open(this.component, { - allowMultipleModals: true, - data: { - confirmDescription: confirmDescription, - confirmButtonText: confirmButtonText, - modalTitle: modalTitle, - }, - }); - - if (ref == null) { - return false; - } - - return (await ref.onClosedPromise()) === true; - } - - async enabled() { - return !(await this.keyConnectorService.getUsesKeyConnector()); - } -} diff --git a/libs/common/src/abstractions/userSecretPrompt.service.ts b/libs/common/src/abstractions/userSecretPrompt.service.ts deleted file mode 100644 index 523b46a2f00..00000000000 --- a/libs/common/src/abstractions/userSecretPrompt.service.ts +++ /dev/null @@ -1,9 +0,0 @@ -export abstract class UserSecretPromptService { - protectedFields: () => string[]; - showPasswordPrompt: ( - confirmDescription: string, - confirmButtonText: string, - modalTitle: string - ) => Promise; - enabled: () => Promise; -} diff --git a/libs/common/src/abstractions/userVerificationPrompt.service.ts b/libs/common/src/abstractions/userVerificationPrompt.service.ts new file mode 100644 index 00000000000..83b9f7d2eae --- /dev/null +++ b/libs/common/src/abstractions/userVerificationPrompt.service.ts @@ -0,0 +1,9 @@ +export abstract class UserVerificationPromptService { + protectedFields: () => string[]; + showUserVerificationPrompt: ( + confirmDescription?: string, + confirmButtonText?: string, + modalTitle?: string + ) => Promise; + enabled: () => Promise; +} diff --git a/libs/common/src/enums/encryptedExportType.ts b/libs/common/src/enums/encryptedExportType.ts new file mode 100644 index 00000000000..4767869f7d0 --- /dev/null +++ b/libs/common/src/enums/encryptedExportType.ts @@ -0,0 +1,4 @@ +export enum EncryptedExportType { + AccountEncrypted = 0, + FileEncrypted = 1, +}