Replaced "EnvelopeGenerator.WebUI" with "EnvelopeGenerator.Server" and "EnvelopeGenerator.WebUI.Client" with "EnvelopeGenerator.Server.Client". Updated project entries, solution configuration platforms, and nested projects to reflect these changes.
47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using MediatR;
|
|
using EnvelopeGenerator.Application.Receivers.Queries;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace EnvelopeGenerator.GeneratorAPI.Controllers;
|
|
|
|
/// <summary>
|
|
/// Controller für die Verwaltung von Empfängern.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Dieser Controller bietet Endpunkte für das Abrufen von Empfängern basierend auf E-Mail-Adresse oder Signatur.
|
|
/// </remarks>
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
[Authorize]
|
|
public class ReceiverController : ControllerBase
|
|
{
|
|
private readonly IMediator _mediator;
|
|
|
|
/// <summary>
|
|
/// Initialisiert eine neue Instanz des <see cref="ReceiverController"/>-Controllers.
|
|
/// </summary>
|
|
/// <param name="mediator">Mediator für Anfragen.</param>
|
|
public ReceiverController(IMediator mediator)
|
|
{
|
|
_mediator = mediator;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ruft eine Liste von Empfängern ab, basierend auf den angegebenen Abfrageparametern.
|
|
/// </summary>
|
|
/// <param name="receiver">Die Abfrageparameter, einschließlich E-Mail-Adresse und Signatur.</param>
|
|
/// <returns>Eine Liste von Empfängern oder ein Fehlerstatus.</returns>
|
|
[HttpGet]
|
|
public async Task<IActionResult> Get([FromQuery] ReadReceiverQuery receiver)
|
|
{
|
|
if (!receiver.HasAnyCriteria)
|
|
{
|
|
var all = await _mediator.Send(new ReadReceiverQuery());
|
|
return Ok(all);
|
|
}
|
|
|
|
var result = await _mediator.Send(receiver);
|
|
return result is null ? NotFound() : Ok(result);
|
|
}
|
|
} |