Add MediatR support for envelope history queries

Updated project references and introduced MediatR for handling
envelope history queries. Added new mapping profile and response
class, and refactored the HistoryController to utilize the
mediator pattern for improved query handling.
This commit is contained in:
Developer 02
2025-05-12 10:55:19 +02:00
parent 9b945ce232
commit af280ee64e
6 changed files with 140 additions and 47 deletions

View File

@@ -1,4 +1,5 @@
using EnvelopeGenerator.Common;
using MediatR;
namespace EnvelopeGenerator.Application.Histories.Queries.Read;
@@ -12,24 +13,6 @@ namespace EnvelopeGenerator.Application.Histories.Queries.Read;
public record ReadHistoryQuery(
int EnvelopeId,
Constants.EnvelopeStatus? Status = null,
bool? OnlyLast = true)
bool? OnlyLast = true) : IRequest<IEnumerable<ReadHistoryResponse>>
{
/// <summary>
/// Abfrage, die angibt, worauf sich der Datensatz bezieht. Ob er sich auf den Empfänger, den Sender oder das System bezieht, wird durch 0, 1 bzw. 2 dargestellt.
/// </summary>
public Constants.ReferenceType? Related
{
get
{
if (Status is null)
return null;
var statusCode = ((int)Status).ToString();
return statusCode.FirstOrDefault() switch
{
'1' => (Constants.ReferenceType?)Constants.ReferenceType.Sender,
'2' => (Constants.ReferenceType?)Constants.ReferenceType.Receiver,
_ => (Constants.ReferenceType?)Constants.ReferenceType.System,
};
}
}
};