From 4c7684bc5ec8ec6508715946f3a0439cafd2d6e8 Mon Sep 17 00:00:00 2001 From: Alec Rippberger Date: Sat, 29 Mar 2025 15:20:10 -0500 Subject: [PATCH] Remove unnecessary conditionals --- .../two-factor-auth-email.component.ts | 32 +++-- .../two-factor-auth.component.ts | 114 ++++++++---------- 2 files changed, 64 insertions(+), 82 deletions(-) diff --git a/libs/auth/src/angular/two-factor-auth/child-components/two-factor-auth-email/two-factor-auth-email.component.ts b/libs/auth/src/angular/two-factor-auth/child-components/two-factor-auth-email/two-factor-auth-email.component.ts index 94f94b3051f..610cd93b1f1 100644 --- a/libs/auth/src/angular/two-factor-auth/child-components/two-factor-auth-email/two-factor-auth-email.component.ts +++ b/libs/auth/src/angular/two-factor-auth/child-components/two-factor-auth-email/two-factor-auth-email.component.ts @@ -82,13 +82,11 @@ export class TwoFactorAuthEmailComponent implements OnInit { // Check if email has already been sent according to the cache let emailAlreadySent = false; - if (this.twoFactorFormCacheService) { - try { - const cachedData = await this.twoFactorFormCacheService.getFormData(); - emailAlreadySent = cachedData?.emailSent === true; - } catch (e) { - this.logService.error(e); - } + try { + const cachedData = await this.twoFactorFormCacheService.getFormData(); + emailAlreadySent = cachedData?.emailSent === true; + } catch (e) { + this.logService.error(e); } if (!emailAlreadySent) { @@ -133,17 +131,15 @@ export class TwoFactorAuthEmailComponent implements OnInit { await this.emailPromise; // Update cache to indicate email was sent - if (this.twoFactorFormCacheService) { - try { - const cachedData = (await this.twoFactorFormCacheService.getFormData()) || {}; - await this.twoFactorFormCacheService.saveFormData({ - ...cachedData, - emailSent: true, - token: undefined, - }); - } catch (e) { - this.logService.error(e); - } + try { + const cachedData = (await this.twoFactorFormCacheService.getFormData()) || {}; + await this.twoFactorFormCacheService.saveFormData({ + ...cachedData, + emailSent: true, + token: undefined, + }); + } catch (e) { + this.logService.error(e); } if (doToast) { diff --git a/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts b/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts index 9e9ccdd697f..f5f46666139 100644 --- a/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts +++ b/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts @@ -182,19 +182,17 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { // Load persisted form data if available let loadedCachedProviderType = false; - if (this.twoFactorFormCacheService) { - const persistedData = await this.twoFactorFormCacheService.getFormData(); - if (persistedData) { - if (persistedData.token) { - this.form.patchValue({ token: persistedData.token }); - } - if (persistedData.remember !== undefined) { - this.form.patchValue({ remember: persistedData.remember }); - } - if (persistedData.selectedProviderType !== undefined) { - this.selectedProviderType = persistedData.selectedProviderType; - loadedCachedProviderType = true; - } + const persistedData = await this.twoFactorFormCacheService.getFormData(); + if (persistedData) { + if (persistedData.token) { + this.form.patchValue({ token: persistedData.token }); + } + if (persistedData.remember !== undefined) { + this.form.patchValue({ remember: persistedData.remember }); + } + if (persistedData.selectedProviderType !== undefined) { + this.selectedProviderType = persistedData.selectedProviderType; + loadedCachedProviderType = true; } } @@ -219,39 +217,35 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { * Save specific form data fields to the cache */ async saveFormDataWithPartialData(data: Partial) { - if (this.twoFactorFormCacheService) { - // Get current cached data - const currentData = (await this.twoFactorFormCacheService.getFormData()) || {}; + // Get current cached data + const currentData = (await this.twoFactorFormCacheService.getFormData()) || {}; - // Only update fields that are present in the data object - const updatedData: TwoFactorFormCacheData = { - ...currentData, - ...Object.entries(data).reduce((acc, [key, value]) => { - if (value !== undefined) { - acc[key] = value; - } - return acc; - }, {} as any), - }; + // Only update fields that are present in the data object + const updatedData: TwoFactorFormCacheData = { + ...currentData, + ...Object.entries(data).reduce((acc, [key, value]) => { + if (value !== undefined) { + acc[key] = value; + } + return acc; + }, {} as any), + }; - await this.twoFactorFormCacheService.saveFormData(updatedData); - } + await this.twoFactorFormCacheService.saveFormData(updatedData); } /** * Save all current form data to the cache */ async saveFormData() { - if (this.twoFactorFormCacheService) { - const formData: TwoFactorFormCacheData = { - token: this.tokenFormControl.value || undefined, - remember: this.rememberFormControl.value ?? undefined, - selectedProviderType: this.selectedProviderType, - emailSent: this.selectedProviderType === TwoFactorProviderType.Email, - }; + const formData: TwoFactorFormCacheData = { + token: this.tokenFormControl.value || undefined, + remember: this.rememberFormControl.value ?? undefined, + selectedProviderType: this.selectedProviderType, + emailSent: this.selectedProviderType === TwoFactorProviderType.Email, + }; - await this.saveFormDataWithPartialData(formData); - } + await this.saveFormDataWithPartialData(formData); } private async setSelected2faProviderType() { @@ -341,14 +335,12 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { const rememberValue = remember ?? this.rememberFormControl.value ?? false; // Persist form data before submitting - if (this.twoFactorFormCacheService) { - await this.twoFactorFormCacheService.saveFormData({ - token: tokenValue, - remember: rememberValue, - selectedProviderType: this.selectedProviderType, - emailSent: this.selectedProviderType === TwoFactorProviderType.Email, - }); - } + await this.twoFactorFormCacheService.saveFormData({ + token: tokenValue, + remember: rememberValue, + selectedProviderType: this.selectedProviderType, + emailSent: this.selectedProviderType === TwoFactorProviderType.Email, + }); try { this.formPromise = this.loginStrategyService.logInTwoFactor( @@ -371,14 +363,12 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { async selectOtherTwoFactorMethod() { // Persist current form data before navigating to another method - if (this.twoFactorFormCacheService) { - await this.twoFactorFormCacheService.saveFormData({ - token: undefined, - remember: undefined, - selectedProviderType: this.selectedProviderType, - emailSent: this.selectedProviderType === TwoFactorProviderType.Email, - }); - } + await this.twoFactorFormCacheService.saveFormData({ + token: undefined, + remember: undefined, + selectedProviderType: this.selectedProviderType, + emailSent: this.selectedProviderType === TwoFactorProviderType.Email, + }); const dialogRef = TwoFactorOptionsComponent.open(this.dialogService); const response: TwoFactorOptionsDialogResult | string | undefined = await lastValueFrom( @@ -394,14 +384,12 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { await this.setAnonLayoutDataByTwoFactorProviderType(); // Update the persisted provider type when a new one is chosen - if (this.twoFactorFormCacheService) { - await this.twoFactorFormCacheService.saveFormData({ - token: undefined, - remember: undefined, - selectedProviderType: response.type, - emailSent: false, // Reset email sent state when switching providers - }); - } + await this.twoFactorFormCacheService.saveFormData({ + token: undefined, + remember: undefined, + selectedProviderType: response.type, + emailSent: false, // Reset email sent state when switching providers + }); this.form.reset(); this.form.updateValueAndValidity(); @@ -481,9 +469,7 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { private async handleAuthResult(authResult: AuthResult) { // Clear form cache - if (this.twoFactorFormCacheService) { - await this.twoFactorFormCacheService.clearFormData(); - } + await this.twoFactorFormCacheService.clearFormData(); if (await this.handleMigrateEncryptionKey(authResult)) { return; // stop login process