feat(envelope): bypass access-code flow when UseAccessCode is disabled
- Add logic to skip access-code workflow if UseAccessCode is false - Auto-authenticate receiver and show envelope immediately - Preserve rejection and signed checks - Keep existing behavior for access-code enabled envelopes
This commit is contained in:
parent
698b7ca1ac
commit
efdc372b04
@ -82,7 +82,7 @@ public record EnvelopeDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool? UseAccessCode { get; set; }
|
public bool UseAccessCode { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
|
|||||||
@ -95,6 +95,23 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
}
|
}
|
||||||
#endregion
|
#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
|
#region Send Access Code
|
||||||
bool accessCodeAlreadyRequested = await _historyService.AccessCodeAlreadyRequested(envelopeId: er.Envelope!.Id, userReference: er.Receiver!.EmailAddress);
|
bool accessCodeAlreadyRequested = await _historyService.AccessCodeAlreadyRequested(envelopeId: er.Envelope!.Id, userReference: er.Receiver!.EmailAddress);
|
||||||
if (!accessCodeAlreadyRequested)
|
if (!accessCodeAlreadyRequested)
|
||||||
@ -199,7 +216,7 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
return this.ViewInnerServiceError();
|
return this.ViewInnerServiceError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<IActionResult> CreateEnvelopeLockedView(EnvelopeReceiverDto er, CancellationToken cancel)
|
private async Task<IActionResult> CreateEnvelopeLockedView(EnvelopeReceiverDto er, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
var uuidClaim = User.GetAuthEnvelopeUuid();
|
var uuidClaim = User.GetAuthEnvelopeUuid();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user