From 1014563c754ba7a906e323ae5864019827427b5e Mon Sep 17 00:00:00 2001 From: Federico Maccaroni Date: Tue, 27 Jun 2023 18:49:38 -0300 Subject: [PATCH] [PM-192] Refactor forwarded email providers (#2579) * PM-192 Refactor Forwarded email providers to use better patterns and code reuse. * PM-192 fix format --- src/App/Pages/Generator/GeneratorPage.xaml | 112 +------- .../Pages/Generator/GeneratorPageViewModel.cs | 253 ++++++++---------- src/App/Resources/AppResources.Designer.cs | 18 ++ src/App/Resources/AppResources.resx | 6 + src/Core/Abstractions/IApiService.cs | 6 +- src/Core/Abstractions/ICryptoService.cs | 1 + src/Core/Core.csproj | 2 + .../ForwardedEmailInvalidSecretException.cs | 11 + .../Domain/UsernameGenerationOptions.cs | 29 ++ .../Models/Domain/UsernameGeneratorConfig.cs | 9 - src/Core/Services/ApiService.cs | 150 ++--------- src/Core/Services/CryptoService.cs | 18 ++ .../EmailForwarders/AnonAddyForwarder.cs | 42 +++ .../Services/EmailForwarders/BaseForwarder.cs | 63 +++++ .../EmailForwarders/DuckDuckGoForwarder.cs | 25 ++ .../EmailForwarders/FastmailForwarder.cs | 98 +++++++ .../EmailForwarders/FirefoxRelayForwarder.cs | 36 +++ .../EmailForwarders/ForwarderOptions.cs | 7 + .../EmailForwarders/SimpleLoginForwarder.cs | 25 ++ .../Services/UsernameGenerationService.cs | 95 ++----- 20 files changed, 547 insertions(+), 459 deletions(-) create mode 100644 src/Core/Exceptions/ForwardedEmailInvalidSecretException.cs delete mode 100644 src/Core/Models/Domain/UsernameGeneratorConfig.cs create mode 100644 src/Core/Services/EmailForwarders/AnonAddyForwarder.cs create mode 100644 src/Core/Services/EmailForwarders/BaseForwarder.cs create mode 100644 src/Core/Services/EmailForwarders/DuckDuckGoForwarder.cs create mode 100644 src/Core/Services/EmailForwarders/FastmailForwarder.cs create mode 100644 src/Core/Services/EmailForwarders/FirefoxRelayForwarder.cs create mode 100644 src/Core/Services/EmailForwarders/ForwarderOptions.cs create mode 100644 src/Core/Services/EmailForwarders/SimpleLoginForwarder.cs diff --git a/src/App/Pages/Generator/GeneratorPage.xaml b/src/App/Pages/Generator/GeneratorPage.xaml index 53553cc3f..a2f8b533b 100644 --- a/src/App/Pages/Generator/GeneratorPage.xaml +++ b/src/App/Pages/Generator/GeneratorPage.xaml @@ -249,27 +249,25 @@ ItemDisplayBinding="{Binding ., Converter={StaticResource localizableEnum}}" StyleClass="box-value" AutomationId="ServiceTypePicker" /> - - +