From 994c844f254a40be1838a5002939ff966169e27d Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 11 Apr 2025 20:51:21 +0200 Subject: [PATCH] Refactor envelope and history query structures - Removed `Sender` parameter and properties from `EnvelopeQuery`. - Deleted `SenderQuery` class entirely. - Cleaned up `HistoryQuery` by removing unused `using` directives and `ReferenceType` logic. - Added `Related` parameter to `ReadHistoryQuery` for reference type indication. - Updated `ReferenceType` enum in `Constants.vb` to use explicit integer values. - Modified `HistoryController` to utilize the new `Related` property for determining sender/receiver inclusion. --- .../Envelopes/EnvelopeQuery.cs | 16 ---------- .../Envelopes/SenderQuery.cs | 11 ------- .../Histories/HistoryQuery.cs | 30 ------------------- .../Queries/Read/ReadHistoryQuery.cs | 6 ++-- EnvelopeGenerator.Common/Constants.vb | 2 +- .../Controllers/HistoryController.cs | 5 ++-- 6 files changed, 7 insertions(+), 63 deletions(-) delete mode 100644 EnvelopeGenerator.Application/Envelopes/SenderQuery.cs delete mode 100644 EnvelopeGenerator.Application/Histories/HistoryQuery.cs diff --git a/EnvelopeGenerator.Application/Envelopes/EnvelopeQuery.cs b/EnvelopeGenerator.Application/Envelopes/EnvelopeQuery.cs index fcf6de9d..6c30fab4 100644 --- a/EnvelopeGenerator.Application/Envelopes/EnvelopeQuery.cs +++ b/EnvelopeGenerator.Application/Envelopes/EnvelopeQuery.cs @@ -6,27 +6,11 @@ namespace EnvelopeGenerator.Application.Envelopes; /// Repräsentiert eine Abfrage für Umschläge. /// /// Die eindeutige Kennung des Umschlags. -/// Absender des Schreibens /// Der Status des Umschlags. /// Die universell eindeutige Kennung des Umschlags. public record EnvelopeQuery( int? Id = null, - SenderQuery? Sender = null, int? Status = null, string? Uuid = null) : IRequest { - /// - /// Die eindeutige Kennung des Benutzers. - /// - public int? SenderId => Sender?.Id; - - /// - /// Der Benutzername des Absenders. - /// - public string? SenderUsername => Sender?.Username; - - /// - /// Die E-Mail-Adresse des Benutzers. - /// - public string? SenderEmail => Sender?.Username; }; \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Envelopes/SenderQuery.cs b/EnvelopeGenerator.Application/Envelopes/SenderQuery.cs deleted file mode 100644 index ca0c70a1..00000000 --- a/EnvelopeGenerator.Application/Envelopes/SenderQuery.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace EnvelopeGenerator.Application.Envelopes; - -/// -/// Repräsentiert eine Abfrage für einen Absender. -/// -/// Die eindeutige Kennung des Absenders. -/// Der Benutzername des Absenders. -/// Die E-Mail-Adresse des Absenders. -public record SenderQuery(int? Id = null, string? Username = null, string? Email = null) -{ -} diff --git a/EnvelopeGenerator.Application/Histories/HistoryQuery.cs b/EnvelopeGenerator.Application/Histories/HistoryQuery.cs deleted file mode 100644 index 3b164539..00000000 --- a/EnvelopeGenerator.Application/Histories/HistoryQuery.cs +++ /dev/null @@ -1,30 +0,0 @@ -using EnvelopeGenerator.Application.Envelopes; -using EnvelopeGenerator.Application.Receivers; -using static EnvelopeGenerator.Common.Constants; - -namespace EnvelopeGenerator.Application.Histories; - -/// -/// Repräsentiert eine Abfrage für die Verlaufshistorie eines Umschlags. -/// -/// Die eindeutige Kennung des Umschlags. -/// Die Abfrage, die den Umschlag beschreibt. -/// Die Abfrage, die den Empfänger beschreibt. -/// Abfrage zur Steuerung, ob nur der aktuelle Status oder der gesamte Datensatz zurückgegeben wird. -public record HistoryQuery(int EnvelopeId, TEnvelopeQuery? Envelope, TReceiverQuery? Receiver = null, bool? OnlyLast = null) - where TEnvelopeQuery : EnvelopeQuery - where TReceiverQuery : ReceiverQuery -{ - /// - /// Gibt den Referenztyp des Umschlags an. - /// Wenn der Benutzer des Umschlags definiert ist, wird der Referenztyp als Empfänger betrachtet. - /// Andernfalls, wenn ein Empfänger definiert ist, wird der Referenztyp ebenfalls als Empfänger betrachtet. - /// Ist keiner von beiden definiert, wird der Referenztyp als System betrachtet. - /// - public ReferenceType ReferenceType => - Envelope?.Sender is not null - ? ReferenceType.Receiver - : Receiver is not null - ? ReferenceType.Receiver - : ReferenceType.System; -} diff --git a/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs b/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs index 83189eee..2f8ba313 100644 --- a/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs +++ b/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs @@ -1,5 +1,6 @@ using EnvelopeGenerator.Application.Envelopes.Queries.Read; using EnvelopeGenerator.Application.Receivers.Queries.Read; +using EnvelopeGenerator.Common; namespace EnvelopeGenerator.Application.Histories.Queries.Read; @@ -9,10 +10,11 @@ namespace EnvelopeGenerator.Application.Histories.Queries.Read; /// Die eindeutige Kennung des Umschlags. /// Die Abfrage, die den Umschlag beschreibt. /// Die Abfrage, die den Empfänger beschreibt. +/// 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. /// Abfrage zur Steuerung, ob nur der aktuelle Status oder der gesamte Datensatz zurückgegeben wird. public record ReadHistoryQuery( int EnvelopeId, ReadEnvelopeQuery? Envelope = null, ReadReceiverQuery? Receiver = null, - bool? OnlyLast = true) - : HistoryQuery(EnvelopeId, Envelope, Receiver, OnlyLast); + Constants.ReferenceType? Related = null, + bool? OnlyLast = true); \ No newline at end of file diff --git a/EnvelopeGenerator.Common/Constants.vb b/EnvelopeGenerator.Common/Constants.vb index 4b3d7a33..04905cc6 100644 --- a/EnvelopeGenerator.Common/Constants.vb +++ b/EnvelopeGenerator.Common/Constants.vb @@ -32,7 +32,7 @@ 'TODO: standardize in xwiki Public Enum ReferenceType - Receiver + Receiver = 0 Sender System Unknown diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs index 3372a6e1..63716b05 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs @@ -70,11 +70,10 @@ public class HistoryController : ControllerBase [Authorize] public async Task GetAllAsync([FromQuery] ReadHistoryQuery history) { - ReferenceType? refTypEnum = history.ReferenceType; bool withReceiver = false; bool withSender = false; - switch (refTypEnum) + switch (history.Related) { case ReferenceType.Receiver: withReceiver = true; @@ -86,7 +85,7 @@ public class HistoryController : ControllerBase var histories = await _service.ReadAsync( envelopeId: history.EnvelopeId, - referenceType: refTypEnum, + referenceType: history.Related, withSender: withSender, withReceiver: withReceiver);