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.
This commit is contained in:
@@ -3,7 +3,7 @@ using EnvelopeGenerator.Application.Receivers.Queries;
|
|||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.GeneratorAPI.Controllers;
|
namespace EnvelopeGenerator.Server.Controllers;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Controller für die Verwaltung von Empfängern.
|
/// Controller für die Verwaltung von Empfängern.
|
||||||
@@ -33,15 +33,16 @@ public class ReceiverController : ControllerBase
|
|||||||
/// <param name="receiver">Die Abfrageparameter, einschließlich E-Mail-Adresse und Signatur.</param>
|
/// <param name="receiver">Die Abfrageparameter, einschließlich E-Mail-Adresse und Signatur.</param>
|
||||||
/// <returns>Eine Liste von Empfängern oder ein Fehlerstatus.</returns>
|
/// <returns>Eine Liste von Empfängern oder ein Fehlerstatus.</returns>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> Get([FromQuery] ReadReceiverQuery receiver)
|
[Authorize(AuthenticationSchemes = AuthScheme.Sender)]
|
||||||
|
public async Task<IActionResult> Get([FromQuery] ReadReceiverQuery? receiver = null, [FromQuery] bool onlyEmailAddress = false)
|
||||||
{
|
{
|
||||||
if (!receiver.HasAnyCriteria)
|
var result = await _mediator.Send(receiver ?? new ReadReceiverQuery());
|
||||||
{
|
|
||||||
var all = await _mediator.Send(new ReadReceiverQuery());
|
|
||||||
return Ok(all);
|
|
||||||
}
|
|
||||||
|
|
||||||
var result = await _mediator.Send(receiver);
|
if (result is null)
|
||||||
return result is null ? NotFound() : Ok(result);
|
return NotFound();
|
||||||
|
else if (onlyEmailAddress)
|
||||||
|
return Ok(result.Select(r => r.EmailAddress).ToList());
|
||||||
|
else
|
||||||
|
return Ok(result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user