feat(ReadEnvelopeReceiverQuery): add Key-property
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
using EnvelopeGenerator.Application.Envelopes.Queries;
|
using EnvelopeGenerator.Application.Dto.EnvelopeReceiver;
|
||||||
using MediatR;
|
using EnvelopeGenerator.Application.Envelopes.Queries;
|
||||||
using EnvelopeGenerator.Domain;
|
using EnvelopeGenerator.Application.Exceptions;
|
||||||
using EnvelopeGenerator.Application.Dto.EnvelopeReceiver;
|
|
||||||
using EnvelopeGenerator.Application.Receivers.Queries;
|
using EnvelopeGenerator.Application.Receivers.Queries;
|
||||||
|
using EnvelopeGenerator.Domain;
|
||||||
|
using EnvelopeGenerator.Extensions;
|
||||||
|
using MediatR;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
||||||
|
|
||||||
@@ -37,22 +39,50 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
|||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Diese Abfrage kombiniert Informationen über einen Umschlag (<see cref="ReadEnvelopeQuery"/>)
|
/// Diese Abfrage kombiniert Informationen über einen Umschlag (<see cref="ReadEnvelopeQuery"/>)
|
||||||
/// und einen Empfänger (<see cref="ReadReceiverQuery"/>), um eine vollständige Antwort
|
/// und einen Empfänger (<see cref="ReadReceiverQuery"/>), um eine vollständige Antwort
|
||||||
/// (<see cref="ReadEnvelopeReceiverResponse"/>) zu generieren.
|
/// (<see cref="EnvelopeReceiverDto"/>) zu generieren.
|
||||||
/// Die Antwort enthält Details wie den Status, die Zuordnung zwischen Umschlag und Empfänger
|
/// Die Antwort enthält Details wie den Status, die Zuordnung zwischen Umschlag und Empfänger
|
||||||
/// sowie zusätzliche Metadaten.
|
/// sowie zusätzliche Metadaten.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <param name="Status">Umschlag oder Empfängerstatus.</param>
|
|
||||||
public record ReadEnvelopeReceiverQuery : IRequest<EnvelopeReceiverDto>
|
public record ReadEnvelopeReceiverQuery : IRequest<EnvelopeReceiverDto>
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public string? Key
|
||||||
|
{
|
||||||
|
get => Envelope?.Uuid is string uuid && Receiver?.Signature is string signature
|
||||||
|
? (uuid, signature).EncodeEnvelopeReceiverId()
|
||||||
|
: null;
|
||||||
|
init
|
||||||
|
{
|
||||||
|
if (value is null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
(string? EnvelopeUuid, string? ReceiverSignature) = value.DecodeEnvelopeReceiverId();
|
||||||
|
if(string.IsNullOrEmpty(EnvelopeUuid) || string.IsNullOrEmpty(ReceiverSignature))
|
||||||
|
{
|
||||||
|
throw new BadRequestException("Der EnvelopeReceiverKey muss ein gültiger Base64-kodierter String sein, der die EnvelopeUuid und die ReceiverSignature enthält.");
|
||||||
|
}
|
||||||
|
Envelope = new ReadEnvelopeQuery()
|
||||||
|
{
|
||||||
|
Uuid = EnvelopeUuid
|
||||||
|
};
|
||||||
|
Receiver = new ReadReceiverQuery()
|
||||||
|
{
|
||||||
|
Signature = ReceiverSignature
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Der Umschlag, der mit dem Empfänger verknüpft ist.
|
/// Der Umschlag, der mit dem Empfänger verknüpft ist.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadEnvelopeQuery? Envelope { get; init; }
|
public ReadEnvelopeQuery? Envelope { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Der Empfänger, der mit dem Umschlag verknüpft ist.
|
/// Der Empfänger, der mit dem Umschlag verknüpft ist.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadReceiverQuery? Receiver { get; init; }
|
public ReadReceiverQuery? Receiver { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Abfrage des Status des Umschlags
|
/// Abfrage des Status des Umschlags
|
||||||
|
|||||||
@@ -5,12 +5,20 @@ namespace EnvelopeGenerator.Application.Envelopes.Queries;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Repräsentiert eine Abfrage für Umschläge.
|
/// Repräsentiert eine Abfrage für Umschläge.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="Id">Die eindeutige Kennung des Umschlags.</param>
|
public class ReadEnvelopeQuery : IRequest
|
||||||
/// <param name="Status">Der Status des Umschlags.</param>
|
|
||||||
/// <param name="Uuid">Die universell eindeutige Kennung des Umschlags.</param>
|
|
||||||
public record ReadEnvelopeQuery(
|
|
||||||
int? Id = null,
|
|
||||||
int? Status = null,
|
|
||||||
string? Uuid = null) : IRequest
|
|
||||||
{
|
{
|
||||||
};
|
/// <summary>
|
||||||
|
/// Die eindeutige Kennung des Umschlags.
|
||||||
|
/// </summary>
|
||||||
|
public int? Id { get; init; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Der Status des Umschlags.
|
||||||
|
/// </summary>
|
||||||
|
public int? Status { get; init; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Die universell eindeutige Kennung des Umschlags.
|
||||||
|
/// </summary>
|
||||||
|
public string? Uuid { get; init; }
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user