refactor(HomeController): Ändern Sie den Routenparameter „EnvelopeReceiverReadOnly” von einem String-Schlüssel zu einer langen ID

- Aktualisieren Sie „MainAsync”, um mit einer geparsten schreibgeschützten ID anstelle eines String-Schlüssels zu „EnvelopeReceiverReadOnly” umzuleiten
- Ändern Sie die Aktionssignatur „EnvelopeReceiverReadOnly”, um „long readOnlyId” anstelle von „[FromRoute] string readOnlyKey” zu akzeptieren
- Inline-Schlüssel-Decodierungs-/Validierungslogik entfernt und Decodierung an `MainAsync` delegiert
- Protokollmeldungen angepasst, um `ReadOnly-Id` anstelle von `ReadOnly-key` widerzuspiegeln
This commit is contained in:
tekh 2025-09-17 13:59:31 +02:00
parent 10b1de4cf0
commit d0bfe795d7

View File

@ -76,7 +76,7 @@ public class HomeController : ViewControllerBase
} }
if(decoded.GetEncodeType() == EncodeType.EnvelopeReceiverReadOnly) if(decoded.GetEncodeType() == EncodeType.EnvelopeReceiverReadOnly)
return Redirect($"{envelopeReceiverId}/ReadOnly"); return await EnvelopeReceiverReadOnly(decoded.ParseReadOnlyId());
ViewData["EnvelopeKey"] = envelopeReceiverId; ViewData["EnvelopeKey"] = envelopeReceiverId;
@ -371,20 +371,10 @@ public class HomeController : ViewControllerBase
} }
} }
[HttpGet("{readOnlyKey}/ReadOnly")] [NonAction]
[Obsolete("Use MediatR")] [Obsolete("Use MediatR")]
public async Task<IActionResult> EnvelopeReceiverReadOnly([FromRoute] string readOnlyKey) public async Task<IActionResult> EnvelopeReceiverReadOnly([FromRoute] long readOnlyId)
{ {
try
{
// check if the readOnlyId is valid
if (!readOnlyKey.TryDecode(out var decodedKeys) || decodedKeys.GetEncodeType() != EncodeType.EnvelopeReceiverReadOnly)
{
Response.StatusCode = StatusCodes.Status401Unauthorized;
return this.ViewDocumentNotFound();
}
var readOnlyId = decodedKeys.ParseReadOnlyId();
var erro_res = await _readOnlyService.ReadByIdAsync(readOnlyId); var erro_res = await _readOnlyService.ReadByIdAsync(readOnlyId);
if (erro_res.IsFailed) if (erro_res.IsFailed)
{ {
@ -407,8 +397,8 @@ public class HomeController : ViewControllerBase
if (hist_res.IsFailed) if (hist_res.IsFailed)
{ {
_logger.LogError( _logger.LogError(
"Although the envelope was sent as read-only, the EnvelopeShared hisotry could not be saved. ReadOnly-key: {readOnlyKey}\nEnvelope Receiver:\n{envelopeReceiver}", "Although the envelope was sent as read-only, the EnvelopeShared hisotry could not be saved. ReadOnly-Id: {readOnlyKey}\nEnvelope Receiver:\n{envelopeReceiver}",
readOnlyKey, JsonConvert.SerializeObject(er)); readOnlyId, JsonConvert.SerializeObject(er));
_logger.LogNotice(hist_res.Notices); _logger.LogNotice(hist_res.Notices);
} }
@ -433,12 +423,6 @@ public class HomeController : ViewControllerBase
return this.ViewEnvelopeNotFound(); return this.ViewEnvelopeNotFound();
}); });
} }
catch (Exception ex)
{
_logger.LogError(ex, "An unexpected error occurred while displaying a read-only envelope. Read-only key is {readOnlyKey}. {message}", readOnlyKey, ex.Message);
return this.ViewInnerServiceError();
}
}
[HttpGet("Error404")] [HttpGet("Error404")]
public IActionResult Error404() => this.ViewError404(); public IActionResult Error404() => this.ViewError404();