refactor: Receiver-Service in CRUD-Service umgewandelt und DTOs aktualisiert

- Receiver-Service von einfachem CRUD zu generischem CRUD-Service umgewandelt.
- `ReceiverDto` in `ReceiverReadDto` umbenannt.
- Neues `ReceiverCreateDto` mit automatischer SHA-256-Signaturerstellung und aktuellem Zeitstempel erstellt.
- Leeres `ReceiverUpdateDto` für zukünftige Updates hinzugefügt.
This commit is contained in:
Developer 02
2024-08-21 14:37:45 +02:00
parent 3a7099feb4
commit afedfdd596
13 changed files with 66 additions and 18 deletions

View File

@@ -0,0 +1,20 @@
using System.Security.Cryptography;
using System.Text;
namespace EnvelopeGenerator.Application.DTOs.Receiver
{
public record ReceiverCreateDto(string EmailAddress)
{
public string Signature => sha256HexOfMail.Value;
private readonly Lazy<string> sha256HexOfMail = new(() =>
{
var bytes_arr = Encoding.UTF8.GetBytes(EmailAddress.ToUpper());
var hash_arr = SHA256.HashData(bytes_arr);
var hexa_str = BitConverter.ToString(hash_arr);
return hexa_str.Replace("-", string.Empty);
});
public DateTime AddedWhen { get; } = DateTime.Now;
};
}

View File

@@ -0,0 +1,11 @@
using DigitalData.Core.DTO;
namespace EnvelopeGenerator.Application.DTOs.Receiver
{
public record ReceiverReadDto(
int Id,
string EmailAddress,
string Signature,
DateTime AddedWhen
) : BaseDTO<int>(Id);
}

View File

@@ -0,0 +1,4 @@
namespace EnvelopeGenerator.Application.DTOs.Receiver
{
public record ReceiverUpdateDto();
}