From 6120e6062e5dd2c4bc10d604b0c9831330eb6da9 Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 1 Jul 2026 15:16:17 +0200 Subject: [PATCH] Update ReceiverController namespace and enhance Get method The namespace of the `ReceiverController` class was updated from `EnvelopeGenerator.GeneratorAPI.Controllers` to `EnvelopeGenerator.Server.Controllers`. The `Get` method was enhanced with the following changes: - Added `[Authorize]` attribute with `AuthScheme.Sender`. - Updated the method signature to include an optional `ReadReceiverQuery? receiver` parameter (defaulting to `null`) and a new `bool onlyEmailAddress` parameter (defaulting to `false`). - Modified logic to handle `receiver` being `null` by creating a new `ReadReceiverQuery`. - Added handling for `onlyEmailAddress` to return a list of email addresses if true. - Simplified the result handling and removed the previous `receiver.HasAnyCriteria` logic. --- .../Controllers/ReceiverController.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Controllers/ReceiverController.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Controllers/ReceiverController.cs index 756b5eb3..b7b6c417 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Controllers/ReceiverController.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Controllers/ReceiverController.cs @@ -3,7 +3,7 @@ using EnvelopeGenerator.Application.Receivers.Queries; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; -namespace EnvelopeGenerator.GeneratorAPI.Controllers; +namespace EnvelopeGenerator.Server.Controllers; /// /// Controller für die Verwaltung von Empfängern. @@ -33,15 +33,16 @@ public class ReceiverController : ControllerBase /// 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) + [Authorize(AuthenticationSchemes = AuthScheme.Sender)] + public async Task Get([FromQuery] ReadReceiverQuery? receiver = null, [FromQuery] bool onlyEmailAddress = false) { - if (!receiver.HasAnyCriteria) - { - var all = await _mediator.Send(new ReadReceiverQuery()); - return Ok(all); - } + var result = await _mediator.Send(receiver ?? new ReadReceiverQuery()); - var result = await _mediator.Send(receiver); - return result is null ? NotFound() : Ok(result); + if (result is null) + return NotFound(); + else if (onlyEmailAddress) + return Ok(result.Select(r => r.EmailAddress).ToList()); + else + return Ok(result); } } \ No newline at end of file