diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index b5b03111..b2419641 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -44,11 +44,21 @@ namespace EnvelopeGenerator.Web.Controllers } [HttpGet("EnvelopeKey/{envelopeReceiverId}")] - public async Task SendAccessCode([FromRoute] string envelopeReceiverId) + public async Task MainAsync([FromRoute] string envelopeReceiverId) { try { envelopeReceiverId = _urlEncoder.Encode(envelopeReceiverId); + + if (!envelopeReceiverId.TryDecode(out var decoded)) + { + Response.StatusCode = StatusCodes.Status401Unauthorized; + return this.ViewDocumentNotFound(); + } + + if(decoded.GetEncodeType() == EncodeType.ReadOnly) + return Redirect($"{envelopeReceiverId}/ReadOnly"); + ViewData["EnvelopeKey"] = envelopeReceiverId; return await _envRcvService.ReadByEnvelopeReceiverIdAsync(envelopeReceiverId: envelopeReceiverId).ThenAsync(