mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-04-05 18:09:04 +00:00
* remove email out of register service * Update auth service, move JWT handling out of controller * add docker config for service auth test * Update mock email system * Format: ./src/Core/Service * Refactor authentication payloads and services for registration and login processes * Format: src/Core/API, src/Core/Service
42 lines
1016 B
C#
42 lines
1016 B
C#
using Domain.Entities;
|
|
using Infrastructure.Email;
|
|
using Infrastructure.Email.Templates.Rendering;
|
|
|
|
namespace Service.Emails;
|
|
|
|
public interface IEmailService
|
|
{
|
|
public Task SendRegistrationEmailAsync(
|
|
UserAccount createdUser,
|
|
string confirmationToken
|
|
);
|
|
}
|
|
|
|
public class EmailService(
|
|
IEmailProvider emailProvider,
|
|
IEmailTemplateProvider emailTemplateProvider
|
|
) : IEmailService
|
|
{
|
|
public async Task SendRegistrationEmailAsync(
|
|
UserAccount createdUser,
|
|
string confirmationToken
|
|
)
|
|
{
|
|
var confirmationLink =
|
|
$"https://thebiergarten.app/confirm?token={confirmationToken}";
|
|
|
|
var emailHtml =
|
|
await emailTemplateProvider.RenderUserRegisteredEmailAsync(
|
|
createdUser.FirstName,
|
|
confirmationLink
|
|
);
|
|
|
|
await emailProvider.SendAsync(
|
|
createdUser.Email,
|
|
"Welcome to The Biergarten App!",
|
|
emailHtml,
|
|
isHtml: true
|
|
);
|
|
}
|
|
}
|