ErrorView und ErrorViewModel hinzugefügt; ContactLink als Singleton konfiguriert, serialisiert aus appSettings

This commit is contained in:
Developer 02
2024-04-25 16:17:10 +02:00
parent 8efe321cc7
commit 966b7de3c4
15 changed files with 695 additions and 59 deletions

View File

@@ -6,7 +6,6 @@ using EnvelopeGenerator.Web.Services;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
using System.Security.Claims;
using Microsoft.AspNetCore.Authorization;
using DigitalData.Core.API;
@@ -17,16 +16,14 @@ namespace EnvelopeGenerator.Web.Controllers
public class HomeController : BaseController
{
private readonly EnvelopeOldService envelopeOldService;
private readonly IConfiguration _config;
private readonly IEnvelopeReceiverService _envRcvService;
private readonly IEnvelopeService _envelopeService;
private readonly IEnvelopeHistoryService _historyService;
public HomeController(DatabaseService databaseService, EnvelopeOldService envelopeOldService, ILogger<HomeController> logger, IConfiguration configuration, IEnvelopeReceiverService envelopeReceiverService, IEnvelopeService envelopeService, IEnvelopeHistoryService historyService) : base(databaseService, logger)
public HomeController(DatabaseService databaseService, EnvelopeOldService envelopeOldService, ILogger<HomeController> logger, IEnvelopeReceiverService envelopeReceiverService, IEnvelopeService envelopeService, IEnvelopeHistoryService historyService) : base(databaseService, logger)
{
this.envelopeOldService = envelopeOldService;
_envRcvService = envelopeReceiverService;
_envelopeService = envelopeService;
_config = configuration;
_historyService = historyService;
}
@@ -68,12 +65,22 @@ namespace EnvelopeGenerator.Web.Controllers
_logger.LogError(ex, MessageKey.UnexpectedError.ToString());
}
return View("EnvelopeLocked").WithData("EnvelopeKey", envelopeReceiverId);
return Redirect($"{envelopeReceiverId}/Locked");
}
[HttpGet("EnvelopeKey/{envelopeReceiverId}/Locked")]
public IActionResult EnvelopeLocked([FromRoute] string envelopeReceiverId)
{
(string? uuid, string? signature) = envelopeReceiverId.DecodeEnvelopeReceiverId();
if (uuid is null || signature is null)
{
return View("_Error", new ErrorViewModel()
{
Title = "404",
Subtitle = "Anfrage fehlgeschlagen!",
Body = "Das angeforderte Umschlag wurde nicht gefunden."
});
}
return View().WithData("EnvelopeKey", envelopeReceiverId);
}
@@ -87,7 +94,7 @@ namespace EnvelopeGenerator.Web.Controllers
if(uuid is null || signature is null)
{
_logger.LogWarning($"{MessageKey.WrongEnvelopeReceiverId.ToString()}");
return BadRequest(_envelopeService.CreateMessage(false, MessageKey.WrongEnvelopeReceiverId.ToString()));
return BadRequest(_envelopeService.CreateMessage(false, MessageKey.WrongEnvelopeReceiverId.ToString()));
}
_logger.LogInformation($"Envelope UUID: [{uuid}]\nReceiver Signature: [{signature}]");
@@ -182,7 +189,7 @@ namespace EnvelopeGenerator.Web.Controllers
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
return View();
}
}
}