Refactor EnvelopeReceiverController to use MediatR only
Remove all usage of IEnvelopeReceiverService from EnvelopeReceiverController, including constructor injection and obsolete attributes. Update endpoints to exclusively use MediatR for handling queries. Clean up related obsolete code, comments, and unused usings. Update documentation to reflect these changes.
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using DigitalData.Core.Abstraction.Application.DTO;
|
|
||||||
using EnvelopeGenerator.Application.EnvelopeReceivers.Commands;
|
using EnvelopeGenerator.Application.EnvelopeReceivers.Commands;
|
||||||
using EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
using EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
||||||
using EnvelopeGenerator.Application.Envelopes.Queries;
|
using EnvelopeGenerator.Application.Envelopes.Queries;
|
||||||
@@ -11,12 +10,8 @@ using Microsoft.AspNetCore.Mvc;
|
|||||||
using Microsoft.Data.SqlClient;
|
using Microsoft.Data.SqlClient;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Reflection.Metadata;
|
|
||||||
using EnvelopeGenerator.Domain;
|
|
||||||
using EnvelopeGenerator.Domain.Constants;
|
|
||||||
using EnvelopeGenerator.Application.Common.SQL;
|
using EnvelopeGenerator.Application.Common.SQL;
|
||||||
using EnvelopeGenerator.Application.Common.Dto.Receiver;
|
using EnvelopeGenerator.Application.Common.Dto.Receiver;
|
||||||
using EnvelopeGenerator.Application.Common.Interfaces.Services;
|
|
||||||
using EnvelopeGenerator.Application.Common.Interfaces.SQLExecutor;
|
using EnvelopeGenerator.Application.Common.Interfaces.SQLExecutor;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.GeneratorAPI.Controllers;
|
namespace EnvelopeGenerator.GeneratorAPI.Controllers;
|
||||||
@@ -33,38 +28,19 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers;
|
|||||||
public class EnvelopeReceiverController : ControllerBase
|
public class EnvelopeReceiverController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly ILogger<EnvelopeReceiverController> _logger;
|
private readonly ILogger<EnvelopeReceiverController> _logger;
|
||||||
|
|
||||||
[Obsolete("Use MediatR")]
|
|
||||||
private readonly IEnvelopeReceiverService _erService;
|
|
||||||
|
|
||||||
private readonly IMediator _mediator;
|
private readonly IMediator _mediator;
|
||||||
|
|
||||||
private readonly IMapper _mapper;
|
private readonly IMapper _mapper;
|
||||||
|
|
||||||
private readonly IEnvelopeExecutor _envelopeExecutor;
|
private readonly IEnvelopeExecutor _envelopeExecutor;
|
||||||
|
|
||||||
private readonly IEnvelopeReceiverExecutor _erExecutor;
|
private readonly IEnvelopeReceiverExecutor _erExecutor;
|
||||||
|
|
||||||
private readonly IDocumentExecutor _documentExecutor;
|
private readonly IDocumentExecutor _documentExecutor;
|
||||||
|
|
||||||
private readonly string _cnnStr;
|
private readonly string _cnnStr;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Konstruktor für den EnvelopeReceiverController.
|
/// Konstruktor für den EnvelopeReceiverController.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="logger">Logger-Instanz zur Protokollierung von Informationen und Fehlern.</param>
|
public EnvelopeReceiverController(ILogger<EnvelopeReceiverController> logger, IMediator mediator, IMapper mapper, IEnvelopeExecutor envelopeExecutor, IEnvelopeReceiverExecutor erExecutor, IDocumentExecutor documentExecutor, IOptions<ConnectionString> csOpt)
|
||||||
/// <param name="envelopeReceiverService">Service zur Verwaltung von Umschlagempfängern.</param>
|
|
||||||
/// <param name="mediator">Mediator-Instanz zur Verarbeitung von Befehlen und Abfragen.</param>
|
|
||||||
/// <param name="mapper"></param>
|
|
||||||
/// <param name="envelopeExecutor"></param>
|
|
||||||
/// <param name="erExecutor"></param>
|
|
||||||
/// <param name="documentExecutor"></param>
|
|
||||||
/// <param name="csOpt"></param>
|
|
||||||
[Obsolete("Use MediatR")]
|
|
||||||
public EnvelopeReceiverController(ILogger<EnvelopeReceiverController> logger, IEnvelopeReceiverService envelopeReceiverService, IMediator mediator, IMapper mapper, IEnvelopeExecutor envelopeExecutor, IEnvelopeReceiverExecutor erExecutor, IDocumentExecutor documentExecutor, IOptions<ConnectionString> csOpt)
|
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_erService = envelopeReceiverService;
|
|
||||||
_mediator = mediator;
|
_mediator = mediator;
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_envelopeExecutor = envelopeExecutor;
|
_envelopeExecutor = envelopeExecutor;
|
||||||
@@ -87,7 +63,6 @@ public class EnvelopeReceiverController : ControllerBase
|
|||||||
/// <response code="500">Ein unerwarteter Fehler ist aufgetreten.</response>
|
/// <response code="500">Ein unerwarteter Fehler ist aufgetreten.</response>
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Obsolete("Use MediatR")]
|
|
||||||
public async Task<IActionResult> GetEnvelopeReceiver([FromQuery] ReadEnvelopeReceiverQuery envelopeReceiver)
|
public async Task<IActionResult> GetEnvelopeReceiver([FromQuery] ReadEnvelopeReceiverQuery envelopeReceiver)
|
||||||
{
|
{
|
||||||
var username = User.GetUsernameOrDefault();
|
var username = User.GetUsernameOrDefault();
|
||||||
@@ -99,20 +74,11 @@ public class EnvelopeReceiverController : ControllerBase
|
|||||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await _erService.ReadByUsernameAsync(
|
envelopeReceiver = envelopeReceiver with { Username = username };
|
||||||
username: username,
|
|
||||||
min_status: envelopeReceiver.Envelope.Status?.Min,
|
var result = await _mediator.Send(envelopeReceiver);
|
||||||
max_status: envelopeReceiver.Envelope.Status?.Max,
|
|
||||||
envelopeQuery: envelopeReceiver.Envelope,
|
return Ok(result);
|
||||||
receiverQuery: envelopeReceiver.Receiver,
|
|
||||||
ignore_statuses: envelopeReceiver.Envelope.Status?.Ignore ?? Array.Empty<EnvelopeStatus>())
|
|
||||||
.ThenAsync(
|
|
||||||
Success: Ok,
|
|
||||||
Fail: IActionResult (msg, ntc) =>
|
|
||||||
{
|
|
||||||
_logger.LogNotice(ntc);
|
|
||||||
return StatusCode(StatusCodes.Status500InternalServerError, msg);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -129,19 +95,10 @@ public class EnvelopeReceiverController : ControllerBase
|
|||||||
/// <response code="500">Ein unerwarteter Fehler ist aufgetreten.</response>
|
/// <response code="500">Ein unerwarteter Fehler ist aufgetreten.</response>
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[HttpGet("salute")]
|
[HttpGet("salute")]
|
||||||
[Obsolete("Use MediatR")]
|
|
||||||
public async Task<IActionResult> GetReceiverName([FromQuery] ReadReceiverNameQuery receiver)
|
public async Task<IActionResult> GetReceiverName([FromQuery] ReadReceiverNameQuery receiver)
|
||||||
{
|
{
|
||||||
return await _erService.ReadLastUsedReceiverNameByMailAsync(receiver.EmailAddress, receiver.Id, receiver.Signature).ThenAsync(
|
var name = await _mediator.Send(receiver);
|
||||||
Success: res => res is null ? NotFound() : Ok(res),
|
return name is null ? NotFound() : Ok(name);
|
||||||
Fail: IActionResult (msg, ntc) =>
|
|
||||||
{
|
|
||||||
if (ntc.HasFlag(Flag.NotFound))
|
|
||||||
return NotFound();
|
|
||||||
|
|
||||||
_logger.LogNotice(ntc);
|
|
||||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user