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