From a668dfa3eb1122c77eb92f95b9951cd0d6d0cff9 Mon Sep 17 00:00:00 2001 From: TekH Date: Sun, 31 May 2026 16:15:00 +0200 Subject: [PATCH] Refactor envelope ID retrieval and error handling Replaced hardcoded `envelopeId` with dynamic retrieval from user claims. Reintroduced and updated error handling logic to validate the `envelopeId` and log detailed errors when parsing fails. Improved robustness by returning a 500 error for invalid or missing envelope claims. --- .../Controllers/DocumentController.cs | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/EnvelopeGenerator.API/Controllers/DocumentController.cs b/EnvelopeGenerator.API/Controllers/DocumentController.cs index 8458ae09..675ee7e1 100644 --- a/EnvelopeGenerator.API/Controllers/DocumentController.cs +++ b/EnvelopeGenerator.API/Controllers/DocumentController.cs @@ -70,19 +70,17 @@ public class DocumentController(IMediator mediator, IAuthorizationService authSe [HttpGet("{envelopeKey}")] public async Task GetDocumentOfReceiver(string envelopeKey, CancellationToken cancel) { - var envelopeId = 2071; + var envelopeIdStr = User.FindFirst(EnvelopeClaimNames.EnvelopeId)?.Value; - //var envelopeIdStr = User.FindFirst(EnvelopeClaimNames.EnvelopeId)?.Value; + if (!int.TryParse(envelopeIdStr, out int envelopeId)) + { + logger.LogError( + "Inner service error: Failed to parse Envelope ID from claims. Claim '{ClaimName}' had an invalid or missing value: '{ClaimValue}'.", + EnvelopeClaimNames.EnvelopeId, + envelopeIdStr ?? "null"); - //if (!int.TryParse(envelopeIdStr, out int envelopeId)) - //{ - // logger.LogError( - // "Inner service error: Failed to parse Envelope ID from claims. Claim '{ClaimName}' had an invalid or missing value: '{ClaimValue}'.", - // EnvelopeClaimNames.EnvelopeId, - // envelopeIdStr ?? "null"); - - // return StatusCode(StatusCodes.Status500InternalServerError, "Inner service error: Invalid envelope claim."); - //} + return StatusCode(StatusCodes.Status500InternalServerError, "Inner service error: Invalid envelope claim."); + } var senderDoc = await mediator.Send(new ReadDocumentQuery() { EnvelopeId = envelopeId }, cancel);