feat(EnvelopeReceiverReadOnly): Controller initialisieren
- Join mit Receiver und Read - DI-Konfiguration hinzufügen - Auslöser hinzufügen (TBSIG_ENVELOPE_RECEIVER_READ_ONLY_UPD)
This commit is contained in:
54
EnvelopeGenerator.Web/Controllers/ReadOnlyController.cs
Normal file
54
EnvelopeGenerator.Web/Controllers/ReadOnlyController.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using DigitalData.Core.DTO;
|
||||
using EnvelopeGenerator.Application.Contracts;
|
||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class ReadOnlyController : ControllerBase
|
||||
{
|
||||
private readonly ILogger<ReadOnlyController> _logger;
|
||||
|
||||
private readonly IEnvelopeReceiverReadOnlyService _erroService;
|
||||
|
||||
public ReadOnlyController(ILogger<ReadOnlyController> logger, IEnvelopeReceiverReadOnlyService erroService)
|
||||
{
|
||||
_logger = logger;
|
||||
_erroService = erroService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize]
|
||||
public async Task<IActionResult> GetAllAsync()
|
||||
{
|
||||
var res = await _erroService.ReadAllAsync();
|
||||
return Ok(res);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
public async Task<IActionResult> CreateAsync([FromBody] EnvelopeReceiverReadOnlyCreateDto createDto)
|
||||
{
|
||||
//set AddedWho
|
||||
var authReceiverMail = this.GetAuthReceiverMail();
|
||||
if (authReceiverMail is null)
|
||||
{
|
||||
_logger.LogError("Email clam is not found in envelope-receiver-read-only creation process. Create DTO is:\n {dto}", JsonConvert.SerializeObject(createDto));
|
||||
|
||||
return Unauthorized();
|
||||
}
|
||||
createDto.AddedWho = authReceiverMail;
|
||||
|
||||
return await _erroService.CreateAsync(createDto: createDto).ThenAsync(
|
||||
Success: id => Ok(id),
|
||||
Fail: IActionResult (msg, ntc) =>
|
||||
{
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user