Fügen das Suffix „-base“ am Ende gängiger Modelle hinzu.

This commit is contained in:
Developer 02
2025-08-26 16:36:52 +02:00
parent 5c09601e3f
commit f114144d34
4 changed files with 7 additions and 7 deletions

View File

@@ -0,0 +1,58 @@
using DigitalData.Core.Exceptions;
using EnvelopeGenerator.Extensions;
namespace EnvelopeGenerator.Application.Model;
/// <summary>
///
/// </summary>
public record EnvelopeReceiverQueryBase : EnvelopeReceiverQueryBase<EnvelopeQueryBase, ReceiverQueryBase>;
/// <summary>
///
/// </summary>
/// <typeparam name="TEnvelopeQuery"></typeparam>
/// <typeparam name="TReceiverQuery"></typeparam>
public record EnvelopeReceiverQueryBase<TEnvelopeQuery, TReceiverQuery>
where TEnvelopeQuery : EnvelopeQueryBase, new()
where TReceiverQuery : ReceiverQueryBase, new()
{
/// <summary>
///
/// </summary>
public virtual 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 TEnvelopeQuery()
{
Uuid = EnvelopeUuid
};
Receiver = new TReceiverQuery()
{
Signature = ReceiverSignature
};
}
}
/// <summary>
///
/// </summary>
public virtual TEnvelopeQuery? Envelope { get; init; }
/// <summary>
///
/// </summary>
public virtual TReceiverQuery? Receiver { get; init; }
}