diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs
index 653e6c4c..8da7ee87 100644
--- a/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs
+++ b/EnvelopeGenerator.GeneratorAPI/Controllers/ReceiverController.cs
@@ -7,84 +7,74 @@ using EnvelopeGenerator.Domain.Entities;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
-namespace EnvelopeGenerator.GeneratorAPI.Controllers
+namespace EnvelopeGenerator.GeneratorAPI.Controllers;
+
+///
+/// Controller für die Verwaltung von Empfängern.
+///
+///
+/// Dieser Controller bietet Endpunkte für CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen)
+/// sowie zusätzliche Funktionen wie das Abrufen von Empfängern basierend auf E-Mail-Adresse oder Signatur.
+///
+[Route("api/[controller]")]
+[ApiController]
+[Authorize]
+public class ReceiverController : CRUDControllerBaseWithErrorHandling
{
- [Route("api/[controller]")]
- [ApiController]
- [Authorize]
- public class ReceiverController : CRUDControllerBaseWithErrorHandling
+ ///
+ /// Initialisiert eine neue Instanz des -Controllers.
+ ///
+ /// Der Logger für die Protokollierung.
+ /// Der Dienst für Empfängeroperationen.
+ public ReceiverController(ILogger logger, IReceiverService service) : base(logger, service)
{
- public ReceiverController(ILogger logger, IReceiverService service) : base(logger, service)
- {
- }
-
- [HttpGet]
- public async Task Get([FromQuery] ReadReceiverQuery receiver)
- {
- if (receiver.EmailAddress is null && receiver.Signature is null)
- return await base.GetAll();
-
- try
- {
- return await _service.ReadByAsync(emailAddress: receiver.EmailAddress, signature: receiver.Signature).ThenAsync(
- Success: Ok,
- Fail: IActionResult (msg, ntc) =>
- {
- _logger.LogNotice(ntc);
- return StatusCode(StatusCodes.Status500InternalServerError);
- });
- }
- catch(Exception ex)
- {
- _logger.LogError(ex, "{Message}", ex.Message);
- return StatusCode(StatusCodes.Status500InternalServerError);
- }
- }
-
- [HttpPost]
- public async override Task Create(ReceiverCreateDto createDto)
- {
- if (!ModelState.IsValid)
- return BadRequest(ModelState);
-
- return await base.Create(createDto);
- }
-
- [HttpDelete]
- public async Task Delete([FromQuery] ReadReceiverQuery receiver)
- {
- if(receiver.Id is int id_int)
- return await base.Delete(id_int);
-
- try
- {
- if (receiver.EmailAddress is not null || receiver.Signature is not null)
- return await _service.DeleteByAsync(emailAddress: receiver.EmailAddress, signature: receiver.Signature).ThenAsync(
- Success: Ok,
- Fail: IActionResult (msg, ntc) =>
- {
- _logger.LogNotice(ntc);
- return StatusCode(StatusCodes.Status500InternalServerError);
- });
- }
- catch(Exception ex)
- {
- _logger.LogError(ex, "{Message}", ex.Message);
- return StatusCode(500);
- }
-
- return BadRequest();
- }
-
- #region REMOVED ENDPOINTS
- [NonAction]
- public override Task GetAll() => base.GetAll();
-
- [NonAction]
- public override Task Delete([FromRoute] int id) => base.Delete(id);
-
- [NonAction]
- public override Task Update(ReceiverUpdateDto updateDto) => base.Update(updateDto);
- #endregion
}
-}
\ No newline at end of file
+
+ ///
+ /// Ruft eine Liste von Empfängern ab, basierend auf den angegebenen Abfrageparametern.
+ ///
+ /// Die Abfrageparameter, einschließlich E-Mail-Adresse und Signatur.
+ /// Eine Liste von Empfängern oder ein Fehlerstatus.
+ [HttpGet]
+ public async Task Get([FromQuery] ReadReceiverQuery receiver)
+ {
+ if (receiver.EmailAddress is null && receiver.Signature is null)
+ return await base.GetAll();
+
+ try
+ {
+ return await _service.ReadByAsync(emailAddress: receiver.EmailAddress, signature: receiver.Signature).ThenAsync(
+ Success: Ok,
+ Fail: IActionResult (msg, ntc) =>
+ {
+ _logger.LogNotice(ntc);
+ return StatusCode(StatusCodes.Status500InternalServerError);
+ });
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "{Message}", ex.Message);
+ return StatusCode(StatusCodes.Status500InternalServerError);
+ }
+ }
+
+ #region REMOVED ENDPOINTS
+ ///
+ /// Diese Methode ist deaktiviert und wird nicht verwendet.
+ ///
+ [NonAction]
+ public override Task GetAll() => base.GetAll();
+
+ ///
+ /// Diese Methode ist deaktiviert und wird nicht verwendet.
+ ///
+ [NonAction]
+ public override Task Delete([FromRoute] int id) => base.Delete(id);
+
+ ///
+ /// Diese Methode ist deaktiviert und wird nicht verwendet.
+ ///
+ [NonAction]
+ public override Task Update(ReceiverUpdateDto updateDto) => base.Update(updateDto);
+ #endregion
+}