Signaturprüfung zur Filterung der Umschlagempfänger hinzugefügt
This commit is contained in:
@@ -20,7 +20,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
}
|
||||
|
||||
[HttpGet("api/envelope/{envelopeKey}")]
|
||||
public async Task<IActionResult> Get([FromRoute] string envelopeKey, [FromBody] string accessCode)
|
||||
public async Task<IActionResult> Get([FromRoute] string envelopeKey)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using DigitalData.Core.API;
|
||||
using EnvelopeGenerator.Application.Contracts;
|
||||
using EnvelopeGenerator.Application.DTOs;
|
||||
using EnvelopeGenerator.Application.Services;
|
||||
using EnvelopeGenerator.Domain.Entities;
|
||||
using EnvelopeGenerator.Infrastructure.Contracts;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@@ -24,9 +25,12 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
if(envelopeKey is not null)
|
||||
{
|
||||
Tuple<string, string> decode = Common.Helpers.DecodeEnvelopeReceiverId(envelopeKey);
|
||||
var envelopeUuid = decode.Item1;
|
||||
var envlopeServiceResult = await _service.ReadByUuidAsync(envelopeUuid, withDocuments: true, withReceivers: true, withHistory: true);
|
||||
var decoded = envelopeKey.DecodeEnvelopeReceiverId();
|
||||
|
||||
var envlopeServiceResult = await _service.ReadByUuidAsync(
|
||||
uuid: decoded.EnvelopeUuid,
|
||||
signature: decoded.ReceiverSignature,
|
||||
withDocuments: withDocuments, withReceivers: withReceivers, withHistory: withHistory);
|
||||
|
||||
if (envlopeServiceResult.IsSuccess)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user