From 11a5012ab7443c8dc2bc81463aebc763626bb7c5 Mon Sep 17 00:00:00 2001 From: TekH Date: Sat, 6 Jun 2026 18:31:04 +0200 Subject: [PATCH] Refactor: Move GetAnnotsOfReceiver to SignatureController The `GetAnnotsOfReceiver` method was removed from the `AnnotationController` class and moved to a newly introduced `SignatureController` class. The `SignatureController` is now a dedicated controller for handling signature-related endpoints, decorated with `[ApiController]` and `[Route("api/[controller]")]`. The method's implementation remains largely unchanged, retaining its logic for retrieving and filtering signatures for a specific receiver. Dependency injection for `IMediator` was added to the `SignatureController` to handle the `ReadDocumentQuery`. Additional `using` directives were added to `SignatureController.cs` to include necessary namespaces. A `TODO` comment remains in the method, indicating potential future updates. --- .../Controllers/AnnotationController.cs | 28 --------- .../Controllers/SignatureController.cs | 57 +++++++++++++++++++ 2 files changed, 57 insertions(+), 28 deletions(-) create mode 100644 EnvelopeGenerator.API/Controllers/SignatureController.cs diff --git a/EnvelopeGenerator.API/Controllers/AnnotationController.cs b/EnvelopeGenerator.API/Controllers/AnnotationController.cs index a25bf0e7..c9052d51 100644 --- a/EnvelopeGenerator.API/Controllers/AnnotationController.cs +++ b/EnvelopeGenerator.API/Controllers/AnnotationController.cs @@ -118,32 +118,4 @@ public class AnnotationController : ControllerBase _logger.LogNotice(histRes.Notices); return StatusCode(500, histRes.Messages); } - - //TODO: update to use - /// - /// - /// - /// - /// - /// - [Authorize(Policy = AuthPolicy.Receiver)] - [HttpGet("{envelopeKey}")] - public async Task GetAnnotsOfReceiver(string envelopeKey, CancellationToken cancel) - { - int envelopeId = User.GetEnvelopeIdOfReceiver(); - - int receiverId = User.GetReceiverIdOfReceiver(); - - var doc = await _mediator.Send(new ReadDocumentQuery() { EnvelopeId = envelopeId }, cancel); - - if (doc.Elements is not IEnumerable docSignatures) - return NotFound("Document is empty."); - - var rcvSignatures = docSignatures.Where(s => s.ReceiverId == receiverId).ToList(); - - if (rcvSignatures is null) - return NotFound("No signatures found for the current receiver."); - else - return Ok(rcvSignatures); - } } diff --git a/EnvelopeGenerator.API/Controllers/SignatureController.cs b/EnvelopeGenerator.API/Controllers/SignatureController.cs new file mode 100644 index 00000000..3368a62e --- /dev/null +++ b/EnvelopeGenerator.API/Controllers/SignatureController.cs @@ -0,0 +1,57 @@ +using EnvelopeGenerator.API.Extensions; +using EnvelopeGenerator.Application.Common.Dto; +using EnvelopeGenerator.Application.Common.Extensions; +using EnvelopeGenerator.Application.Documents.Queries; +using EnvelopeGenerator.Domain.Constants; +using MediatR; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace EnvelopeGenerator.API.Controllers; + +/// +/// +/// +[Authorize(Policy = AuthPolicy.Receiver)] +[ApiController] +[Route("api/[controller]")] +public class SignatureController : ControllerBase +{ + private readonly IMediator _mediator; + + /// + /// Initializes a new instance of . + /// + public SignatureController(IMediator mediator) + { + _mediator = mediator; + } + + //TODO: update to use signature query + /// + /// + /// + /// + /// + /// + [Authorize(Policy = AuthPolicy.Receiver)] + [HttpGet("{envelopeKey}")] + public async Task GetAnnotsOfReceiver(string envelopeKey, CancellationToken cancel) + { + int envelopeId = User.GetEnvelopeIdOfReceiver(); + + int receiverId = User.GetReceiverIdOfReceiver(); + + var doc = await _mediator.Send(new ReadDocumentQuery() { EnvelopeId = envelopeId }, cancel); + + if (doc.Elements is not IEnumerable docSignatures) + return NotFound("Document is empty."); + + var rcvSignatures = docSignatures.Where(s => s.ReceiverId == receiverId).ToList(); + + if (rcvSignatures is null) + return NotFound("No signatures found for the current receiver."); + else + return Ok(rcvSignatures); + } +}