From eae83adee46080405149930ca54c742700ce4c04 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 22 Aug 2025 18:01:31 +0200 Subject: [PATCH] refactor(ReadEnvelopeReceiverQuery): update response to return list instate of sigel instance --- .../Queries/ReadEnvelopeReceiverQuery.cs | 2 +- .../Queries/ReadEnvelopeReceiverQueryHandler.cs | 10 +++++----- .../Extensions/TaskExtensions.cs | 6 +++--- .../Controllers/Test/TestEnvelopeReceiverController.cs | 3 ++- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs index 4d12b258..d959036b 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs @@ -42,7 +42,7 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries; /// Die Antwort enthält Details wie den StatusQ, die Zuordnung zwischen Umschlag und Empfänger /// sowie zusätzliche Metadaten. /// -public record ReadEnvelopeReceiverQuery : IRequest +public record ReadEnvelopeReceiverQuery : IRequest> { /// /// diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs index 9a65a152..e53977fd 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs @@ -10,7 +10,7 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries; /// /// /// -public class ReadEnvelopeReceiverQueryHandler : IRequestHandler +public class ReadEnvelopeReceiverQueryHandler : IRequestHandler> { private readonly IRepository _repo; @@ -34,7 +34,7 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler /// /// - public async Task Handle(ReadEnvelopeReceiverQuery request, CancellationToken cancel) + public async Task> Handle(ReadEnvelopeReceiverQuery request, CancellationToken cancel) { var q = _repo.Read(); @@ -76,12 +76,12 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler er.Receiver.Signature == rcv.Signature); } - var er = await q.Include(er => er.Envelope).ThenInclude(e => e.Documents).ThenInclude(d => d.Elements) + var envRcvs = await q.Include(er => er.Envelope).ThenInclude(e => e.Documents).ThenInclude(d => d.Elements) .Include(er => er.Envelope).ThenInclude(e => e.History) .Include(er => er.Envelope).ThenInclude(e => e.User) .Include(er => er.Receiver) - .FirstOrDefaultAsync(cancel); + .ToListAsync(cancel); - return er is null ? null : _mapper.Map(er); + return _mapper.Map>(envRcvs); } } diff --git a/EnvelopeGenerator.Application/Extensions/TaskExtensions.cs b/EnvelopeGenerator.Application/Extensions/TaskExtensions.cs index bbb0d495..87927ff4 100644 --- a/EnvelopeGenerator.Application/Extensions/TaskExtensions.cs +++ b/EnvelopeGenerator.Application/Extensions/TaskExtensions.cs @@ -23,15 +23,15 @@ public static class TaskExtensions } /// - /// Awaits the specified task and ensures that the result is not null or empty. - /// If the result is null or contains no elements, a is thrown. + /// Awaits the specified task and ensures that the result is not empty. + /// If the result contains no elements, a is thrown. /// /// The element type of the collection. /// The task to await. /// Optional custom exception message. /// The awaited collection if it is not null or empty. /// Thrown if the result is null or empty. - public static async Task> ThrowIfNull(this Task?> task, string? exceptionMessage = null) + public static async Task> ThrowIfNull(this Task> task, string? exceptionMessage = null) { var result = await task; return result?.Any() ?? false ? result : throw new NotFoundException(exceptionMessage); diff --git a/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeReceiverController.cs b/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeReceiverController.cs index 1c8e0054..3400c16c 100644 --- a/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeReceiverController.cs +++ b/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeReceiverController.cs @@ -23,7 +23,8 @@ public class TestEnvelopeReceiverController : ReadControllerBase Get([FromQuery] ReadEnvelopeReceiverQuery q) => Ok(await _mediator.Send(q).ThrowIfNull()); + public async Task Get([FromQuery] ReadEnvelopeReceiverQuery q, CancellationToken cancel) + => Ok(await _mediator.Send(q, cancel).ThrowIfNull()); [HttpGet("verify-access-code/{envelope_receiver_id}")] public async Task VerifyAccessCode([FromRoute] string envelope_receiver_id, [FromQuery] string access_code)