Refactoring (EnvelopeController): Vereinheitlichung der Verarbeitung von gesperrten Ansichten
- Methode „CreateEnvelopeLockedView” hinzugefügt, um die Logik für die Anzeige gesperrter/umschlossener Ansichten zu zentralisieren - Aktion „Main“ aktualisiert, um „CreateEnvelopeLockedView“ anstelle von Redirect zu verwenden - Veraltete Methode „EnvelopeLocked“ entfernt - TFA-bezogene Ansichten und Handler aktualisiert, um auf „CreateEnvelopeLockedView“ anstelle von „EnvelopeLocked“ zu verweisen - Dokumentenlade- und Anmeldelogik in wiederverwendbare Methoden vereinfacht
This commit is contained in:
@@ -55,7 +55,7 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
|
|
||||||
[HttpGet("{envelopeReceiverId}")]
|
[HttpGet("{envelopeReceiverId}")]
|
||||||
[Obsolete("Use MediatR")]
|
[Obsolete("Use MediatR")]
|
||||||
public async Task<IActionResult> Main([FromRoute] string envelopeReceiverId)
|
public async Task<IActionResult> Main([FromRoute] string envelopeReceiverId, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -110,7 +110,7 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
return Redirect($"{envelopeReceiverId}/Locked");
|
return await CreateEnvelopeLockedView(er, cancel);
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch(Exception ex)
|
||||||
{
|
{
|
||||||
@@ -119,57 +119,35 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("{envelopeReceiverId}/Locked")]
|
public async Task<IActionResult> CreateEnvelopeLockedView(EnvelopeReceiverDto er, CancellationToken cancel)
|
||||||
[Obsolete("Use DigitalData.Core.Exceptions and .Middleware")]
|
|
||||||
public async Task<IActionResult> EnvelopeLocked(EnvelopeReceiverDto er, CancellationToken cancel)
|
|
||||||
{
|
{
|
||||||
ViewData["EnvelopeKey"] = envelopeReceiverId;
|
if (User.IsInRole(ReceiverRole.FullyAuth))
|
||||||
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
if (er is null)
|
if (er.Envelope!.Documents?.FirstOrDefault() is DocumentDto doc && doc.ByteData is not null)
|
||||||
{
|
{
|
||||||
Response.StatusCode = StatusCodes.Status401Unauthorized;
|
ViewData["DocumentBytes"] = doc.ByteData;
|
||||||
return this.ViewEnvelopeNotFound();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (User.IsInRole(ReceiverRole.FullyAuth))
|
|
||||||
return await CreateShowEnvelopeView(er);
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ViewData["TFAEnabled"] = er.Envelope!.TFAEnabled;
|
_logger.LogEnvelopeError(uuid: er.Envelope.Uuid, er.Receiver?.Signature, message: "No document byte-data was found in ENVELOPE_DOCUMENT table.");
|
||||||
ViewData["HasPhoneNumber"] = er.HasPhoneNumber;
|
return this.ViewDocumentNotFound();
|
||||||
ViewData["SenderEmail"] = er.Envelope.User!.Email;
|
|
||||||
ViewData["EnvelopeTitle"] = er.Envelope.Title;
|
|
||||||
return View("EnvelopeLocked");
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
catch(Exception ex)
|
|
||||||
{
|
|
||||||
_logger.LogEnvelopeError(uuid: er.Envelope?.Uuid, er.Receiver!.Signature, exception: ex);
|
|
||||||
return this.ViewInnerServiceError();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Obsolete("Use MediatR")]
|
await HttpContext.SignInEnvelopeAsync(er, ReceiverRole.FullyAuth);
|
||||||
private async Task<IActionResult> CreateShowEnvelopeView(EnvelopeReceiverDto er)
|
|
||||||
{
|
//add PSPDFKit licence key
|
||||||
if (er.Envelope!.Documents?.FirstOrDefault() is DocumentDto doc && doc.ByteData is not null)
|
ViewData["PSPDFKitLicenseKey"] = _configuration["PSPDFKitLicenseKey"];
|
||||||
{
|
|
||||||
ViewData["DocumentBytes"] = doc.ByteData;
|
return View("ShowEnvelope", er);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_logger.LogEnvelopeError(uuid: er.Envelope.Uuid, er.Receiver?.Signature, message: "No document byte-data was found in ENVELOPE_DOCUMENT table.");
|
ViewData["TFAEnabled"] = er.Envelope!.TFAEnabled;
|
||||||
return this.ViewDocumentNotFound();
|
ViewData["HasPhoneNumber"] = er.HasPhoneNumber;
|
||||||
|
ViewData["SenderEmail"] = er.Envelope.User!.Email;
|
||||||
|
ViewData["EnvelopeTitle"] = er.Envelope.Title;
|
||||||
|
return View("EnvelopeLocked");
|
||||||
}
|
}
|
||||||
|
|
||||||
await HttpContext.SignInEnvelopeAsync(er, ReceiverRole.FullyAuth);
|
|
||||||
|
|
||||||
//add PSPDFKit licence key
|
|
||||||
ViewData["PSPDFKitLicenseKey"] = _configuration["PSPDFKitLicenseKey"];
|
|
||||||
|
|
||||||
return View("ShowEnvelope", er);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use MediatR")]
|
[Obsolete("Use MediatR")]
|
||||||
@@ -233,11 +211,11 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
return this.ViewInnerServiceError();
|
return this.ViewInnerServiceError();
|
||||||
}
|
}
|
||||||
|
|
||||||
return View("EnvelopeLocked").WithData("CodeType", "smsCode").WithData("SmsExpiration", expiration);
|
return View("CreateEnvelopeLockedView").WithData("CodeType", "smsCode").WithData("SmsExpiration", expiration);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return View("EnvelopeLocked")
|
return View("CreateEnvelopeLockedView")
|
||||||
.WithData("CodeType", "authenticatorCode")
|
.WithData("CodeType", "authenticatorCode")
|
||||||
.WithData("TfaRegDeadline", er_secret.Receiver?.TfaRegDeadline);
|
.WithData("TfaRegDeadline", er_secret.Receiver?.TfaRegDeadline);
|
||||||
}
|
}
|
||||||
@@ -253,7 +231,7 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
//EnvelopeStatusQuery.AccessCodeIncorrect
|
//EnvelopeStatusQuery.AccessCodeIncorrect
|
||||||
await _historyService.RecordAsync(er_secret.EnvelopeId, er_secret.Receiver!.EmailAddress, EnvelopeStatus.AccessCodeIncorrect);
|
await _historyService.RecordAsync(er_secret.EnvelopeId, er_secret.Receiver!.EmailAddress, EnvelopeStatus.AccessCodeIncorrect);
|
||||||
Response.StatusCode = StatusCodes.Status401Unauthorized;
|
Response.StatusCode = StatusCodes.Status401Unauthorized;
|
||||||
return View("EnvelopeLocked")
|
return View("CreateEnvelopeLockedView")
|
||||||
.WithData("EnvelopeKey", envelopeReceiverId)
|
.WithData("EnvelopeKey", envelopeReceiverId)
|
||||||
.WithData("TFAEnabled", er_secret.Envelope!.TFAEnabled)
|
.WithData("TFAEnabled", er_secret.Envelope!.TFAEnabled)
|
||||||
.WithData("HasPhoneNumber", er_secret.HasPhoneNumber)
|
.WithData("HasPhoneNumber", er_secret.HasPhoneNumber)
|
||||||
@@ -367,7 +345,7 @@ public class EnvelopeController : ViewControllerBase
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
Response.StatusCode = StatusCodes.Status401Unauthorized;
|
Response.StatusCode = StatusCodes.Status401Unauthorized;
|
||||||
return View("EnvelopeLocked")
|
return View("CreateEnvelopeLockedView")
|
||||||
.WithData("EnvelopeKey", envelopeReceiverId)
|
.WithData("EnvelopeKey", envelopeReceiverId)
|
||||||
.WithData("TFAEnabled", er_secret.Envelope!.TFAEnabled)
|
.WithData("TFAEnabled", er_secret.Envelope!.TFAEnabled)
|
||||||
.WithData("HasPhoneNumber", er_secret.HasPhoneNumber)
|
.WithData("HasPhoneNumber", er_secret.HasPhoneNumber)
|
||||||
|
|||||||
Reference in New Issue
Block a user