From bfe3d38ecc74d1cd211ffedaf1355db126d2f9cb Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Wed, 21 Aug 2024 16:19:18 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20E-Mail-Formatvalidierung=20zu=20Receiver?= =?UTF-8?q?CreateDto=20hinzugef=C3=BCgt=20und=20Modellvalidierung=20im=20C?= =?UTF-8?q?reate-Methoden=20behandelt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `[EmailAddress]`-Attribut auf `EmailAddress` in `ReceiverCreateDto` angewendet, um das E-Mail-Format zu validieren. - `ModelState.IsValid`-Überprüfung zur `Create`-Methode hinzugefügt, um Validierungsfehler vor dem Aufruf der Basis-`Create`-Methode zu behandeln. --- .../DTOs/Receiver/ReceiverCreateDto.cs | 5 +++-- .../Controllers/ReceiverController.cs | 12 ++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverCreateDto.cs b/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverCreateDto.cs index 017c5d50..949ee06a 100644 --- a/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverCreateDto.cs +++ b/EnvelopeGenerator.Application/DTOs/Receiver/ReceiverCreateDto.cs @@ -1,9 +1,10 @@ -using System.Security.Cryptography; +using System.ComponentModel.DataAnnotations; +using System.Security.Cryptography; using System.Text; namespace EnvelopeGenerator.Application.DTOs.Receiver { - public record ReceiverCreateDto(string EmailAddress) + public record ReceiverCreateDto([EmailAddress] string EmailAddress) { public string Signature => sha256HexOfMail.Value; diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs index ac19b08b..935acdf1 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs @@ -4,7 +4,6 @@ using EnvelopeGenerator.Application.Contracts; using EnvelopeGenerator.Application.DTOs.Receiver; using EnvelopeGenerator.Domain.Entities; using Microsoft.AspNetCore.Mvc; -using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.GeneratorAPI.Controllers { @@ -12,7 +11,7 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers [ApiController] public class ReceiverController : CRUDControllerBaseWithErrorHandling { - public ReceiverController(ILogger logger, IReceiverService service) : base(logger, service) + public ReceiverController(ILogger logger, IReceiverService service) : base(logger, service) { } @@ -36,5 +35,14 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers return StatusCode(StatusCodes.Status500InternalServerError); }); } + + [HttpPost] + public async override Task Create(ReceiverCreateDto createDto) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + + return await base.Create(createDto); + } } } \ No newline at end of file