From 535ca23c86e7e030c19213408b2943dada152c5f Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Wed, 11 Dec 2024 11:44:39 +0100 Subject: [PATCH] =?UTF-8?q?feat(HomeController):=20Befehl=20zum=20Senden?= =?UTF-8?q?=20von=20E-Mails=20hinzugef=C3=BCgt,=20um=20QR-Code=20zu=20send?= =?UTF-8?q?en.=20=20-=20TotpSecret=20zu=20EmailTemplateType=20hinzugef?= =?UTF-8?q?=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DTOs/Receiver/ReceiverReadDto.cs | 2 ++ .../Services/EnvelopeMailService.cs | 8 ++++---- EnvelopeGenerator.Common/Constants.vb | 1 + EnvelopeGenerator.Web/Controllers/HomeController.cs | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverReadDto.cs b/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverReadDto.cs index 49654fea..6d1b5a19 100644 --- a/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverReadDto.cs +++ b/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverReadDto.cs @@ -1,5 +1,6 @@ using DigitalData.Core.Abstractions; using DigitalData.Core.DTO; +using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes; using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver; using System.Text.Json.Serialization; @@ -19,6 +20,7 @@ namespace EnvelopeGenerator.Application.DTOs.Receiver public string? TotpSecretkey { get; set; } = null; + [TemplatePlaceholder("[TFA_QR_EXPIRATION]")] public DateTime? TotpExpiration { get; set; } = null; }; } \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Services/EnvelopeMailService.cs b/EnvelopeGenerator.Application/Services/EnvelopeMailService.cs index 5e6ca13e..58a3c6b8 100644 --- a/EnvelopeGenerator.Application/Services/EnvelopeMailService.cs +++ b/EnvelopeGenerator.Application/Services/EnvelopeMailService.cs @@ -32,7 +32,7 @@ namespace EnvelopeGenerator.Application.Services _placeholders = mailConfig.Value.Placeholders; } - private async Task> CreatePlaceholders(string? accessCode = null, EnvelopeReceiverDto? envelopeReceiverDto = null, EnvelopeReceiverReadOnlyDto? readOnlyDto = null) + private async Task> CreatePlaceholders(string? accessCode = null, EnvelopeReceiverDto? envelopeReceiverDto = null) { if (accessCode is not null) _placeholders["[DOCUMENT_ACCESS_CODE]"] = accessCode; @@ -64,9 +64,9 @@ namespace EnvelopeGenerator.Application.Services return _placeholders; } - public async Task> SendAccessCodeAsync(EnvelopeReceiverDto dto) => await SendAsync(dto: dto, tempType: Constants.EmailTemplateType.DocumentAccessCodeReceived); + public async Task> SendAccessCodeAsync(EnvelopeReceiverDto dto) => await SendAsync(dto: dto, tempType: EmailTemplateType.DocumentAccessCodeReceived); - public async Task> SendAsync(EnvelopeReceiverDto dto, Constants.EmailTemplateType tempType) + public async Task> SendAsync(EnvelopeReceiverDto dto, EmailTemplateType tempType) { var tempSerResult = await _tempService.ReadByNameAsync(tempType); if (tempSerResult.IsFailed) @@ -111,7 +111,7 @@ namespace EnvelopeGenerator.Application.Services public async Task> SendAsync(EnvelopeReceiverReadOnlyDto dto) { - var tempSerResult = await _tempService.ReadByNameAsync(Constants.EmailTemplateType.DocumentShared); + var tempSerResult = await _tempService.ReadByNameAsync(EmailTemplateType.DocumentShared); if (tempSerResult.IsFailed) return tempSerResult.ToFail().Notice(LogLevel.Error, Flag.DataIntegrityIssue, $"The email cannot send because '{Constants.EmailTemplateType.DocumentShared}' template cannot found."); var temp = tempSerResult.Data; diff --git a/EnvelopeGenerator.Common/Constants.vb b/EnvelopeGenerator.Common/Constants.vb index d04f3bfd..d6c09439 100644 --- a/EnvelopeGenerator.Common/Constants.vb +++ b/EnvelopeGenerator.Common/Constants.vb @@ -99,6 +99,7 @@ DocumentCompleted DocumentAccessCodeReceived DocumentShared + TotpSecret End Enum Public Enum EncodeType diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index 89341ae3..d5ce93ac 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -239,7 +239,7 @@ namespace EnvelopeGenerator.Web.Controllers rcv.TotpExpiration = DateTime.Now.AddMonths(1); await _rcvService.UpdateAsync(rcv); var totp_qr_64 = _codeGenerator.GenerateTotpQrCode(userEmail: rcv.EmailAddress, secretKey: rcv.TotpSecretkey).ToBase64String(); - // send by email + await _mailService.SendAsync(er_secret, EmailTemplateType.TotpSecret); } return await TFAView(auth.UserSelectSMS); }