fix: E-Mail-Formatvalidierung zu ReceiverCreateDto hinzugefügt und Modellvalidierung im Create-Methoden behandelt

- `[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.
This commit is contained in:
Developer 02 2024-08-21 16:19:18 +02:00
parent 6e5bb58f65
commit bfe3d38ecc
2 changed files with 13 additions and 4 deletions

View File

@ -1,9 +1,10 @@
using System.Security.Cryptography; using System.ComponentModel.DataAnnotations;
using System.Security.Cryptography;
using System.Text; using System.Text;
namespace EnvelopeGenerator.Application.DTOs.Receiver namespace EnvelopeGenerator.Application.DTOs.Receiver
{ {
public record ReceiverCreateDto(string EmailAddress) public record ReceiverCreateDto([EmailAddress] string EmailAddress)
{ {
public string Signature => sha256HexOfMail.Value; public string Signature => sha256HexOfMail.Value;

View File

@ -4,7 +4,6 @@ using EnvelopeGenerator.Application.Contracts;
using EnvelopeGenerator.Application.DTOs.Receiver; using EnvelopeGenerator.Application.DTOs.Receiver;
using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Domain.Entities;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations.Schema;
namespace EnvelopeGenerator.GeneratorAPI.Controllers namespace EnvelopeGenerator.GeneratorAPI.Controllers
{ {
@ -12,7 +11,7 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers
[ApiController] [ApiController]
public class ReceiverController : CRUDControllerBaseWithErrorHandling<IReceiverService, ReceiverCreateDto, ReceiverReadDto, ReceiverUpdateDto, Receiver, int> public class ReceiverController : CRUDControllerBaseWithErrorHandling<IReceiverService, ReceiverCreateDto, ReceiverReadDto, ReceiverUpdateDto, Receiver, int>
{ {
public ReceiverController(ILogger logger, IReceiverService service) : base(logger, service) public ReceiverController(ILogger<ReceiverController> logger, IReceiverService service) : base(logger, service)
{ {
} }
@ -36,5 +35,14 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers
return StatusCode(StatusCodes.Status500InternalServerError); return StatusCode(StatusCodes.Status500InternalServerError);
}); });
} }
[HttpPost]
public async override Task<IActionResult> Create(ReceiverCreateDto createDto)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
return await base.Create(createDto);
}
} }
} }