refactor(ReadEnvelopeReceiverQuery): update response to return list instate of sigel instance
This commit is contained in:
parent
a29785f7c7
commit
eae83adee4
@ -42,7 +42,7 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
|||||||
/// Die Antwort enthält Details wie den StatusQ, die Zuordnung zwischen Umschlag und Empfänger
|
/// Die Antwort enthält Details wie den StatusQ, die Zuordnung zwischen Umschlag und Empfänger
|
||||||
/// sowie zusätzliche Metadaten.
|
/// sowie zusätzliche Metadaten.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public record ReadEnvelopeReceiverQuery : IRequest<EnvelopeReceiverDto?>
|
public record ReadEnvelopeReceiverQuery : IRequest<IEnumerable<EnvelopeReceiverDto>>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
|
|||||||
@ -10,7 +10,7 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ReadEnvelopeReceiverQueryHandler : IRequestHandler<ReadEnvelopeReceiverQuery, EnvelopeReceiverDto?>
|
public class ReadEnvelopeReceiverQueryHandler : IRequestHandler<ReadEnvelopeReceiverQuery, IEnumerable<EnvelopeReceiverDto>>
|
||||||
{
|
{
|
||||||
private readonly IRepository<EnvelopeReceiver> _repo;
|
private readonly IRepository<EnvelopeReceiver> _repo;
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler<ReadEnvelopeRece
|
|||||||
/// <param name="cancel"></param>
|
/// <param name="cancel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
/// <exception cref="NotImplementedException"></exception>
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
public async Task<EnvelopeReceiverDto?> Handle(ReadEnvelopeReceiverQuery request, CancellationToken cancel)
|
public async Task<IEnumerable<EnvelopeReceiverDto>> Handle(ReadEnvelopeReceiverQuery request, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
var q = _repo.Read();
|
var q = _repo.Read();
|
||||||
|
|
||||||
@ -76,12 +76,12 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler<ReadEnvelopeRece
|
|||||||
q = q.Where(er => er.Receiver.Signature == rcv.Signature);
|
q = q.Where(er => 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.History)
|
||||||
.Include(er => er.Envelope).ThenInclude(e => e.User)
|
.Include(er => er.Envelope).ThenInclude(e => e.User)
|
||||||
.Include(er => er.Receiver)
|
.Include(er => er.Receiver)
|
||||||
.FirstOrDefaultAsync(cancel);
|
.ToListAsync(cancel);
|
||||||
|
|
||||||
return er is null ? null : _mapper.Map<EnvelopeReceiverDto>(er);
|
return _mapper.Map<IEnumerable<EnvelopeReceiverDto>>(envRcvs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,15 +23,15 @@ public static class TaskExtensions
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Awaits the specified task and ensures that the result is not <c>null</c> or empty.
|
/// Awaits the specified task and ensures that the result is not <c>empty</c>.
|
||||||
/// If the result is <c>null</c> or contains no elements, a <see cref="NotFoundException"/> is thrown.
|
/// If the result contains no elements, a <see cref="NotFoundException"/> is thrown.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">The element type of the collection.</typeparam>
|
/// <typeparam name="T">The element type of the collection.</typeparam>
|
||||||
/// <param name="task">The task to await.</param>
|
/// <param name="task">The task to await.</param>
|
||||||
/// <param name="exceptionMessage">Optional custom exception message.</param>
|
/// <param name="exceptionMessage">Optional custom exception message.</param>
|
||||||
/// <returns>The awaited collection if it is not <c>null</c> or empty.</returns>
|
/// <returns>The awaited collection if it is not <c>null</c> or empty.</returns>
|
||||||
/// <exception cref="NotFoundException">Thrown if the result is <c>null</c> or empty.</exception>
|
/// <exception cref="NotFoundException">Thrown if the result is <c>null</c> or empty.</exception>
|
||||||
public static async Task<IEnumerable<T>> ThrowIfNull<T>(this Task<IEnumerable<T>?> task, string? exceptionMessage = null)
|
public static async Task<IEnumerable<T>> ThrowIfNull<T>(this Task<IEnumerable<T>> task, string? exceptionMessage = null)
|
||||||
{
|
{
|
||||||
var result = await task;
|
var result = await task;
|
||||||
return result?.Any() ?? false ? result : throw new NotFoundException(exceptionMessage);
|
return result?.Any() ?? false ? result : throw new NotFoundException(exceptionMessage);
|
||||||
|
|||||||
@ -23,7 +23,8 @@ public class TestEnvelopeReceiverController : ReadControllerBase<IEnvelopeReceiv
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> Get([FromQuery] ReadEnvelopeReceiverQuery q) => Ok(await _mediator.Send(q).ThrowIfNull());
|
public async Task<IActionResult> Get([FromQuery] ReadEnvelopeReceiverQuery q, CancellationToken cancel)
|
||||||
|
=> Ok(await _mediator.Send(q, cancel).ThrowIfNull());
|
||||||
|
|
||||||
[HttpGet("verify-access-code/{envelope_receiver_id}")]
|
[HttpGet("verify-access-code/{envelope_receiver_id}")]
|
||||||
public async Task<IActionResult> VerifyAccessCode([FromRoute] string envelope_receiver_id, [FromQuery] string access_code)
|
public async Task<IActionResult> VerifyAccessCode([FromRoute] string envelope_receiver_id, [FromQuery] string access_code)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user