Signaturprüfung zur Filterung der Umschlagempfänger hinzugefügt

This commit is contained in:
Developer 02
2024-04-08 16:22:17 +02:00
parent db83eb90ee
commit 2512de0f26
9 changed files with 38 additions and 25 deletions

View File

@@ -15,11 +15,13 @@ namespace EnvelopeGenerator.Web.Controllers
private readonly EnvelopeOldService envelopeOldService;
private readonly IConfiguration _config;
private readonly IEnvelopeReceiverService _envRcvService;
private readonly IEnvelopeService _envelopeService;
public HomeController(DatabaseService databaseService, EnvelopeOldService envelopeOldService, ILogger<HomeController> logger, IConfiguration configuration, IEnvelopeReceiverService envelopeReceiverService) : base(databaseService, logger)
public HomeController(DatabaseService databaseService, EnvelopeOldService envelopeOldService, ILogger<HomeController> logger, IConfiguration configuration, IEnvelopeReceiverService envelopeReceiverService, IEnvelopeService envelopeService) : base(databaseService, logger)
{
this.envelopeOldService = envelopeOldService;
_envRcvService = envelopeReceiverService;
_envelopeService = envelopeService;
_config = configuration;
}
@@ -69,24 +71,20 @@ namespace EnvelopeGenerator.Web.Controllers
public IActionResult ShowEnvelope([FromRoute] string envelopeReceiverId) => Redirect($"/EnvelopeKey/{envelopeReceiverId}/Locked");
[HttpPost("/EnvelopeKey/{envelopeReceiverId}/Locked")]
public async Task<IActionResult> ShowEnvelopePost([FromRoute] string envelopeReceiverId, [FromForm] string access_code)
public async Task<IActionResult> ShowEnvelope([FromRoute] string envelopeReceiverId, [FromForm] string access_code)
{
var uuid = envelopeReceiverId.DecodeEnvelopeReceiverId().EnvelopeUuid;
var verification = await _envRcvService.VerifyAccessCode(uuid, access_code);
var decodedId = envelopeReceiverId.DecodeEnvelopeReceiverId();
var verification = await _envRcvService.VerifyAccessCode(decodedId.EnvelopeUuid, access_code);
EnvelopeResponse response = await envelopeOldService.LoadEnvelope(envelopeReceiverId);
string accessCode = response.Receiver.AccessCode;
if (string.IsNullOrEmpty(access_code))
{
return Redirect($"/EnvelopeKey/{envelopeReceiverId}/Locked");
}
if (accessCode == access_code)
if (verification.IsSuccess)
{
var envelope = await _envelopeService.ReadByUuidAsync(decodedId.EnvelopeUuid, decodedId.ReceiverSignature, true, true, true);
database.Services.actionService.EnterCorrectAccessCode(response.Envelope, response.Receiver); //for history
ViewData["EnvelopeKey"] = envelopeReceiverId;
return View("ShowEnvelope");
ViewData["EnveResponse"] = response;
return View("ShowEnvelope", envelope);
}
else
{