49 lines
2.1 KiB
C#
49 lines
2.1 KiB
C#
using DigitalData.Core.API;
|
|
using DigitalData.Core.DTO;
|
|
using EnvelopeGenerator.Application.Contracts;
|
|
using EnvelopeGenerator.Application.DTOs;
|
|
using EnvelopeGenerator.Application;
|
|
using EnvelopeGenerator.Domain.Entities;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace EnvelopeGenerator.Web.Controllers.Test
|
|
{
|
|
public class TestEnvelopeReceiverController : TestControllerBase<IEnvelopeReceiverService, EnvelopeReceiverDto, EnvelopeReceiver, object>
|
|
{
|
|
public TestEnvelopeReceiverController(ILogger<TestEnvelopeReceiverController> logger, IEnvelopeReceiverService service) : base(logger, service)
|
|
{
|
|
}
|
|
|
|
[HttpGet("verify-access-code/{envelope_receiver_id}")]
|
|
public async Task<IActionResult> VerifyAccessCode([FromRoute] string envelope_receiver_id, [FromQuery] string access_code)
|
|
{
|
|
var verification = await _service.VerifyAccessCodeAsync(envelopeReceiverId:envelope_receiver_id, accessCode: access_code);
|
|
|
|
if (verification.IsSuccess)
|
|
return Ok(verification);
|
|
else if (verification.HasFlag(Flag.SecurityBreach))
|
|
return Forbid();
|
|
else if (verification.HasFlag(Flag.SecurityBreachOrDataIntegrity))
|
|
return Conflict();
|
|
else
|
|
return this.InnerServiceError(verification);
|
|
}
|
|
|
|
[HttpGet("e-r-id/{envelope_receiver_id}")]
|
|
public async Task<IActionResult> GetByEnvelopeReceiverId([FromRoute] string envelope_receiver_id)
|
|
{
|
|
var er_result = await _service.ReadByEnvelopeReceiverIdAsync(envelopeReceiverId: envelope_receiver_id);
|
|
if (er_result.IsSuccess)
|
|
return Ok(er_result);
|
|
else
|
|
return this.InnerServiceError(er_result);
|
|
}
|
|
|
|
[HttpGet("decode")]
|
|
public IActionResult DecodeEnvelopeReceiverId(string envelopeReceiverId)
|
|
{
|
|
var decoded = envelopeReceiverId.DecodeEnvelopeReceiverId();
|
|
return Ok(new { uuid = decoded.EnvelopeUuid, signature = decoded.ReceiverSignature });
|
|
}
|
|
}
|
|
} |