diff --git a/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs b/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs index 8229bc50..7331d1b7 100644 --- a/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs +++ b/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs @@ -82,7 +82,7 @@ public record EnvelopeDto /// /// /// - public bool? UseAccessCode { get; set; } + public bool UseAccessCode { get; set; } = true; /// /// diff --git a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs index 472c8bb5..c3fcd302 100644 --- a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs +++ b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs @@ -95,6 +95,23 @@ public class EnvelopeController : ViewControllerBase } #endregion + #region UseAccessCode + if (!er.Envelope!.UseAccessCode) + { + (string? uuid, string? signature) = decoded.ParseEnvelopeReceiverId(); + var er_secret_res = await _envRcvService.ReadWithSecretByUuidSignatureAsync(uuid: uuid!, signature: signature!); + + if (er_secret_res.IsFailed) + { + _logger.LogNotice(er_secret_res.Notices); + return this.ViewEnvelopeNotFound(); + } + var er_secret = er_secret_res.Data; + await HttpContext.SignInEnvelopeAsync(er_secret, ReceiverRole.FullyAuth); + return await CreateShowEnvelopeView(er_secret); + } + #endregion UseAccessCode + #region Send Access Code bool accessCodeAlreadyRequested = await _historyService.AccessCodeAlreadyRequested(envelopeId: er.Envelope!.Id, userReference: er.Receiver!.EmailAddress); if (!accessCodeAlreadyRequested) @@ -199,7 +216,7 @@ public class EnvelopeController : ViewControllerBase return this.ViewInnerServiceError(); } } - + private async Task CreateEnvelopeLockedView(EnvelopeReceiverDto er, CancellationToken cancel) { var uuidClaim = User.GetAuthEnvelopeUuid();