diff --git a/EnvelopeGenerator.Application/Histories/Queries/ReadHistoryQuery.cs b/EnvelopeGenerator.Application/Histories/Queries/ReadHistoryQuery.cs index 05e83f4d..bb9243ff 100644 --- a/EnvelopeGenerator.Application/Histories/Queries/ReadHistoryQuery.cs +++ b/EnvelopeGenerator.Application/Histories/Queries/ReadHistoryQuery.cs @@ -1,7 +1,12 @@ -using EnvelopeGenerator.Application.Common.Dto.History; +using AutoMapper; +using DigitalData.Core.Abstraction.Application.Repository; +using DigitalData.Core.Exceptions; +using EnvelopeGenerator.Application.Common.Dto.History; using EnvelopeGenerator.Domain.Constants; using MediatR; using System.ComponentModel.DataAnnotations; +using EnvelopeGenerator.Domain.Entities; +using Microsoft.EntityFrameworkCore; namespace EnvelopeGenerator.Application.Histories.Queries; @@ -26,4 +31,42 @@ public record ReadHistoryQuery : IRequest> /// Abfrage zur Steuerung, ob nur der aktuelle Include oder der gesamte Datensatz zurückgegeben wird. /// public bool? OnlyLast { get; init; } = true; +} + +/// +/// +/// +public class ReadHistoryQueryHandler : IRequestHandler> +{ + private readonly IRepository _repo; + + private readonly IMapper _mapper; + + /// + /// + /// + /// + /// + public ReadHistoryQueryHandler(IRepository repo, IMapper mapper) + { + _repo = repo; + _mapper = mapper; + } + + /// + /// + /// + /// + /// + /// + /// + public async Task> Handle(ReadHistoryQuery request, CancellationToken cancel = default) + { + var query = _repo.Where(h => h.EnvelopeId == request.EnvelopeId); + if (request.Status is not null) + query = query.Where(h => h.Status == request.Status); + + var hists = await query.ToListAsync(cancel); + return _mapper.Map>(hists); + } } \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Histories/Queries/ReadHistoryQueryHandler.cs b/EnvelopeGenerator.Application/Histories/Queries/ReadHistoryQueryHandler.cs deleted file mode 100644 index 47b682e2..00000000 --- a/EnvelopeGenerator.Application/Histories/Queries/ReadHistoryQueryHandler.cs +++ /dev/null @@ -1,47 +0,0 @@ -using AutoMapper; -using DigitalData.Core.Abstraction.Application.Repository; -using DigitalData.Core.Exceptions; -using EnvelopeGenerator.Application.Common.Dto.History; -using EnvelopeGenerator.Domain.Entities; -using MediatR; -using Microsoft.EntityFrameworkCore; - -namespace EnvelopeGenerator.Application.Histories.Queries; - -/// -/// -/// -public class ReadHistoryQueryHandler : IRequestHandler> -{ - private readonly IRepository _repo; - - private readonly IMapper _mapper; - - /// - /// - /// - /// - /// - public ReadHistoryQueryHandler(IRepository repo, IMapper mapper) - { - _repo = repo; - _mapper = mapper; - } - - /// - /// - /// - /// - /// - /// - /// - public async Task> Handle(ReadHistoryQuery request, CancellationToken cancel = default) - { - var query = _repo.ReadOnly().Where(h => h.EnvelopeId == request.EnvelopeId); - if (request.Status is not null) - query = query.Where(h => h.Status == request.Status); - - var hists = await query.ToListAsync(cancel); - return _mapper.Map>(hists); - } -} \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Controllers/AnnotationController.cs b/EnvelopeGenerator.Web/Controllers/AnnotationController.cs index d2281cfe..c6fce59a 100644 --- a/EnvelopeGenerator.Web/Controllers/AnnotationController.cs +++ b/EnvelopeGenerator.Web/Controllers/AnnotationController.cs @@ -71,7 +71,7 @@ public class AnnotationController : ControllerBase return Ok(); } - + [Authorize(Roles = ReceiverRole.FullyAuth)] [HttpPost("reject")] [Obsolete("Use DigitalData.Core.Exceptions and .Middleware")]