From f85ff79a2c68c8fdc663884e0d2bf951371803af Mon Sep 17 00:00:00 2001 From: Aaron Po Date: Fri, 11 Sep 2026 02:11:50 -0400 Subject: [PATCH] Move email templates into Features.Emails (#283) --- web/backend/API/API.Core/Dockerfile | 2 +- web/backend/API/API.Specs/Dockerfile | 2 +- web/backend/Biergarten.API.slnx | 17 ++++++++++++----- .../Components/Footer.razor | 0 .../Components/Header.razor | 0 .../Features.Emails.Templates.csproj} | 0 .../Mail/ResendConfirmation.razor | 2 +- .../Mail/UserRegistration.razor | 2 +- .../Rendering/EmailTemplateProvider.cs | 4 ++-- .../Rendering/IEmailTemplateProvider.cs | 2 +- ...FeaturesEmailsServiceCollectionExtensions.cs | 3 ++- .../Features.Emails/Features.Emails.csproj | 2 +- .../Features.Emails/Services/EmailDispatcher.cs | 2 +- 13 files changed, 23 insertions(+), 15 deletions(-) rename web/backend/{Infrastructure/Infrastructure.Email.Templates => Features/Features.Emails.Templates}/Components/Footer.razor (100%) rename web/backend/{Infrastructure/Infrastructure.Email.Templates => Features/Features.Emails.Templates}/Components/Header.razor (100%) rename web/backend/{Infrastructure/Infrastructure.Email.Templates/Infrastructure.Email.Templates.csproj => Features/Features.Emails.Templates/Features.Emails.Templates.csproj} (100%) rename web/backend/{Infrastructure/Infrastructure.Email.Templates => Features/Features.Emails.Templates}/Mail/ResendConfirmation.razor (98%) rename web/backend/{Infrastructure/Infrastructure.Email.Templates => Features/Features.Emails.Templates}/Mail/UserRegistration.razor (99%) rename web/backend/{Infrastructure/Infrastructure.Email.Templates => Features/Features.Emails.Templates}/Rendering/EmailTemplateProvider.cs (95%) rename web/backend/{Infrastructure/Infrastructure.Email.Templates => Features/Features.Emails.Templates}/Rendering/IEmailTemplateProvider.cs (95%) diff --git a/web/backend/API/API.Core/Dockerfile b/web/backend/API/API.Core/Dockerfile index 4ba26f84..098b0972 100644 --- a/web/backend/API/API.Core/Dockerfile +++ b/web/backend/API/API.Core/Dockerfile @@ -25,6 +25,7 @@ COPY ["Domain/Domain.Exceptions/Domain.Exceptions.csproj", "Domain/Domain.Except COPY ["Features/Features.Breweries/Features.Breweries.csproj", "Features/Features.Breweries/"] COPY ["Features/Features.Breweries.Tests/Features.Breweries.Tests.csproj", "Features/Features.Breweries.Tests/"] COPY ["Features/Features.Emails/Features.Emails.csproj", "Features/Features.Emails/"] +COPY ["Features/Features.Emails.Templates/Features.Emails.Templates.csproj", "Features/Features.Emails.Templates/"] COPY ["Features/Features.Emails.Tests/Features.Emails.Tests.csproj", "Features/Features.Emails.Tests/"] COPY ["Features/Features.Locations/Features.Locations.csproj", "Features/Features.Locations/"] COPY ["Features/Features.Locations.Tests/Features.Locations.Tests.csproj", "Features/Features.Locations.Tests/"] @@ -34,7 +35,6 @@ COPY ["Features/Features.Users/Features.Users.csproj", "Features/Features.Users/ COPY ["Features/Features.Users.Tests/Features.Users.Tests.csproj", "Features/Features.Users.Tests/"] COPY ["Infrastructure/Infrastructure.Configuration/Infrastructure.Configuration.csproj", "Infrastructure/Infrastructure.Configuration/"] COPY ["Infrastructure/Infrastructure.Email/Infrastructure.Email.csproj", "Infrastructure/Infrastructure.Email/"] -COPY ["Infrastructure/Infrastructure.Email.Templates/Infrastructure.Email.Templates.csproj", "Infrastructure/Infrastructure.Email.Templates/"] COPY ["Infrastructure/Infrastructure.FileUpload/Infrastructure.FileUpload.csproj", "Infrastructure/Infrastructure.FileUpload/"] COPY ["Infrastructure/Infrastructure.Jwt/Infrastructure.Jwt.csproj", "Infrastructure/Infrastructure.Jwt/"] COPY ["Infrastructure/Infrastructure.PasswordHashing/Infrastructure.PasswordHashing.csproj", "Infrastructure/Infrastructure.PasswordHashing/"] diff --git a/web/backend/API/API.Specs/Dockerfile b/web/backend/API/API.Specs/Dockerfile index 124425d4..32fcf15f 100644 --- a/web/backend/API/API.Specs/Dockerfile +++ b/web/backend/API/API.Specs/Dockerfile @@ -15,6 +15,7 @@ COPY ["Domain/Domain.Exceptions/Domain.Exceptions.csproj", "Domain/Domain.Except COPY ["Features/Features.Breweries/Features.Breweries.csproj", "Features/Features.Breweries/"] COPY ["Features/Features.Breweries.Tests/Features.Breweries.Tests.csproj", "Features/Features.Breweries.Tests/"] COPY ["Features/Features.Emails/Features.Emails.csproj", "Features/Features.Emails/"] +COPY ["Features/Features.Emails.Templates/Features.Emails.Templates.csproj", "Features/Features.Emails.Templates/"] COPY ["Features/Features.Emails.Tests/Features.Emails.Tests.csproj", "Features/Features.Emails.Tests/"] COPY ["Features/Features.Locations/Features.Locations.csproj", "Features/Features.Locations/"] COPY ["Features/Features.Locations.Tests/Features.Locations.Tests.csproj", "Features/Features.Locations.Tests/"] @@ -24,7 +25,6 @@ COPY ["Features/Features.Users/Features.Users.csproj", "Features/Features.Users/ COPY ["Features/Features.Users.Tests/Features.Users.Tests.csproj", "Features/Features.Users.Tests/"] COPY ["Infrastructure/Infrastructure.Configuration/Infrastructure.Configuration.csproj", "Infrastructure/Infrastructure.Configuration/"] COPY ["Infrastructure/Infrastructure.Email/Infrastructure.Email.csproj", "Infrastructure/Infrastructure.Email/"] -COPY ["Infrastructure/Infrastructure.Email.Templates/Infrastructure.Email.Templates.csproj", "Infrastructure/Infrastructure.Email.Templates/"] COPY ["Infrastructure/Infrastructure.FileUpload/Infrastructure.FileUpload.csproj", "Infrastructure/Infrastructure.FileUpload/"] COPY ["Infrastructure/Infrastructure.Jwt/Infrastructure.Jwt.csproj", "Infrastructure/Infrastructure.Jwt/"] COPY ["Infrastructure/Infrastructure.PasswordHashing/Infrastructure.PasswordHashing.csproj", "Infrastructure/Infrastructure.PasswordHashing/"] diff --git a/web/backend/Biergarten.API.slnx b/web/backend/Biergarten.API.slnx index b339fc59..09ddefdd 100644 --- a/web/backend/Biergarten.API.slnx +++ b/web/backend/Biergarten.API.slnx @@ -1,4 +1,11 @@ + + + + + + + @@ -12,25 +19,25 @@ - - - - - + + + + + diff --git a/web/backend/Infrastructure/Infrastructure.Email.Templates/Components/Footer.razor b/web/backend/Features/Features.Emails.Templates/Components/Footer.razor similarity index 100% rename from web/backend/Infrastructure/Infrastructure.Email.Templates/Components/Footer.razor rename to web/backend/Features/Features.Emails.Templates/Components/Footer.razor diff --git a/web/backend/Infrastructure/Infrastructure.Email.Templates/Components/Header.razor b/web/backend/Features/Features.Emails.Templates/Components/Header.razor similarity index 100% rename from web/backend/Infrastructure/Infrastructure.Email.Templates/Components/Header.razor rename to web/backend/Features/Features.Emails.Templates/Components/Header.razor diff --git a/web/backend/Infrastructure/Infrastructure.Email.Templates/Infrastructure.Email.Templates.csproj b/web/backend/Features/Features.Emails.Templates/Features.Emails.Templates.csproj similarity index 100% rename from web/backend/Infrastructure/Infrastructure.Email.Templates/Infrastructure.Email.Templates.csproj rename to web/backend/Features/Features.Emails.Templates/Features.Emails.Templates.csproj diff --git a/web/backend/Infrastructure/Infrastructure.Email.Templates/Mail/ResendConfirmation.razor b/web/backend/Features/Features.Emails.Templates/Mail/ResendConfirmation.razor similarity index 98% rename from web/backend/Infrastructure/Infrastructure.Email.Templates/Mail/ResendConfirmation.razor rename to web/backend/Features/Features.Emails.Templates/Mail/ResendConfirmation.razor index ee23369d..6676c023 100644 --- a/web/backend/Infrastructure/Infrastructure.Email.Templates/Mail/ResendConfirmation.razor +++ b/web/backend/Features/Features.Emails.Templates/Mail/ResendConfirmation.razor @@ -1,4 +1,4 @@ -@using Infrastructure.Email.Templates.Components +@using Features.Emails.Templates.Components diff --git a/web/backend/Infrastructure/Infrastructure.Email.Templates/Mail/UserRegistration.razor b/web/backend/Features/Features.Emails.Templates/Mail/UserRegistration.razor similarity index 99% rename from web/backend/Infrastructure/Infrastructure.Email.Templates/Mail/UserRegistration.razor rename to web/backend/Features/Features.Emails.Templates/Mail/UserRegistration.razor index aed26e43..bbffcf84 100644 --- a/web/backend/Infrastructure/Infrastructure.Email.Templates/Mail/UserRegistration.razor +++ b/web/backend/Features/Features.Emails.Templates/Mail/UserRegistration.razor @@ -1,4 +1,4 @@ -@using Infrastructure.Email.Templates.Components +@using Features.Emails.Templates.Components diff --git a/web/backend/Infrastructure/Infrastructure.Email.Templates/Rendering/EmailTemplateProvider.cs b/web/backend/Features/Features.Emails.Templates/Rendering/EmailTemplateProvider.cs similarity index 95% rename from web/backend/Infrastructure/Infrastructure.Email.Templates/Rendering/EmailTemplateProvider.cs rename to web/backend/Features/Features.Emails.Templates/Rendering/EmailTemplateProvider.cs index ed29bf30..01f7785a 100644 --- a/web/backend/Infrastructure/Infrastructure.Email.Templates/Rendering/EmailTemplateProvider.cs +++ b/web/backend/Features/Features.Emails.Templates/Rendering/EmailTemplateProvider.cs @@ -1,10 +1,10 @@ -using Infrastructure.Email.Templates.Mail; +using Features.Emails.Templates.Mail; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.Web.HtmlRendering; using Microsoft.Extensions.Logging; -namespace Infrastructure.Email.Templates.Rendering; +namespace Features.Emails.Templates.Rendering; /// /// Service for rendering Razor email templates to HTML using HtmlRenderer. diff --git a/web/backend/Infrastructure/Infrastructure.Email.Templates/Rendering/IEmailTemplateProvider.cs b/web/backend/Features/Features.Emails.Templates/Rendering/IEmailTemplateProvider.cs similarity index 95% rename from web/backend/Infrastructure/Infrastructure.Email.Templates/Rendering/IEmailTemplateProvider.cs rename to web/backend/Features/Features.Emails.Templates/Rendering/IEmailTemplateProvider.cs index b3929973..c87e11b1 100644 --- a/web/backend/Infrastructure/Infrastructure.Email.Templates/Rendering/IEmailTemplateProvider.cs +++ b/web/backend/Features/Features.Emails.Templates/Rendering/IEmailTemplateProvider.cs @@ -1,4 +1,4 @@ -namespace Infrastructure.Email.Templates.Rendering; +namespace Features.Emails.Templates.Rendering; /// /// Service for rendering Razor email templates to HTML. diff --git a/web/backend/Features/Features.Emails/DependencyInjection/FeaturesEmailsServiceCollectionExtensions.cs b/web/backend/Features/Features.Emails/DependencyInjection/FeaturesEmailsServiceCollectionExtensions.cs index 6459e773..ac8f43c1 100644 --- a/web/backend/Features/Features.Emails/DependencyInjection/FeaturesEmailsServiceCollectionExtensions.cs +++ b/web/backend/Features/Features.Emails/DependencyInjection/FeaturesEmailsServiceCollectionExtensions.cs @@ -1,6 +1,7 @@ using Features.Emails.Services; +using Features.Emails.Templates.Rendering; using Infrastructure.Email; -using Infrastructure.Email.Templates.Rendering; + using Microsoft.Extensions.DependencyInjection; namespace Features.Emails.DependencyInjection; diff --git a/web/backend/Features/Features.Emails/Features.Emails.csproj b/web/backend/Features/Features.Emails/Features.Emails.csproj index 3f4e1875..f08e5bb5 100644 --- a/web/backend/Features/Features.Emails/Features.Emails.csproj +++ b/web/backend/Features/Features.Emails/Features.Emails.csproj @@ -16,8 +16,8 @@ - + diff --git a/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs b/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs index 2fb89f19..83e773a8 100644 --- a/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs +++ b/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs @@ -1,6 +1,6 @@ +using Features.Emails.Templates.Rendering; using Infrastructure.Configuration; using Infrastructure.Email; -using Infrastructure.Email.Templates.Rendering; using Microsoft.Extensions.Configuration; namespace Features.Emails.Services;