Alle Entitäten wurden mit Attributen erstellt und zu EFCore DBContex hinzugefügt.
This commit is contained in:
@@ -2,27 +2,29 @@
|
||||
using EnvelopeGenerator.Common;
|
||||
using EnvelopeGenerator.Web.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Text;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
public class BaseController : Controller
|
||||
{
|
||||
internal DatabaseService database;
|
||||
internal LogConfig logConfig;
|
||||
internal State state;
|
||||
public Logger logger;
|
||||
|
||||
public BaseController(DatabaseService database, LoggingService logging)
|
||||
internal ILogger _logger;
|
||||
|
||||
public BaseController(DatabaseService database, ILogger logger)
|
||||
{
|
||||
this.database = database;
|
||||
this.logConfig = logging.LogConfig;
|
||||
this.logger = logging.LogConfig.GetLogger();
|
||||
this.state = database.State;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
internal ObjectResult ErrorResponse(Exception e)
|
||||
{
|
||||
logger.Error(e);
|
||||
// Log the detailed error message.
|
||||
_logger.LogError(e, "An unexpected error occurred.");
|
||||
|
||||
return Problem(
|
||||
statusCode: 500,
|
||||
detail: e.Message,
|
||||
|
||||
@@ -3,6 +3,7 @@ using EnvelopeGenerator.Application.Contracts;
|
||||
using EnvelopeGenerator.Application.DTOs;
|
||||
using EnvelopeGenerator.Domain.Entities;
|
||||
using EnvelopeGenerator.Infrastructure.Contracts;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
@@ -10,6 +11,16 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
public ConfigTestController(ILogger<ConfigTestController> logger, IConfigService service) : base(logger, service)
|
||||
{
|
||||
_logger.LogInformation("TEST_INFO");
|
||||
_logger.LogError("TEST_ERROR");
|
||||
}
|
||||
|
||||
[HttpGet("test")]
|
||||
public IActionResult Test()
|
||||
{
|
||||
_logger.LogError("Test Error");
|
||||
_logger.LogInformation("Test Info");
|
||||
throw new ArgumentNullException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using EnvelopeGenerator.Common;
|
||||
using EnvelopeGenerator.Web.Services;
|
||||
using static EnvelopeGenerator.Common.Constants;
|
||||
using EnvelopeGenerator.Application.Contracts;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers
|
||||
@@ -12,7 +11,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
private readonly ActionService? actionService;
|
||||
private readonly IEnvelopeDocumentService _envDocService;
|
||||
|
||||
public DocumentController(DatabaseService database, LoggingService logging, EnvelopeService envelope, IEnvelopeDocumentService envDocService) : base(database, logging)
|
||||
public DocumentController(DatabaseService database, EnvelopeService envelope, IEnvelopeDocumentService envDocService, ILogger<DocumentController> logger) : base(database, logger)
|
||||
{
|
||||
envelopeService = envelope;
|
||||
actionService = database.Services?.actionService;
|
||||
@@ -25,15 +24,12 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.Info("DocumentController/Get");
|
||||
|
||||
// Validate Envelope Key and load envelope
|
||||
envelopeService.EnsureValidEnvelopeKey(envelopeKey);
|
||||
EnvelopeResponse response = await envelopeService.LoadEnvelope(envelopeKey);
|
||||
|
||||
// Load document info
|
||||
var Request = ControllerContext.HttpContext.Request;
|
||||
var document = await envelopeService.GetDocument(Request, envelopeKey);
|
||||
var document = await envelopeService.GetDocument(index, envelopeKey);
|
||||
|
||||
// Load the document from disk
|
||||
var bytes = await envelopeService.GetDocumentContents(document);
|
||||
@@ -41,9 +37,9 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
// Return the document as bytes
|
||||
return File(bytes, "application/octet-stream");
|
||||
}
|
||||
catch (Exception e)
|
||||
catch(Exception ex)
|
||||
{
|
||||
return ErrorResponse(e);
|
||||
return ErrorResponse(ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,19 +49,17 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.Info("DocumentController/Open");
|
||||
|
||||
// Validate Envelope Key and load envelope
|
||||
envelopeService.EnsureValidEnvelopeKey(envelopeKey);
|
||||
EnvelopeResponse response = await envelopeService.LoadEnvelope(envelopeKey);
|
||||
|
||||
actionService.OpenEnvelope(response.Envelope, response.Receiver);
|
||||
actionService?.OpenEnvelope(response.Envelope, response.Receiver);
|
||||
|
||||
return Ok(new object());
|
||||
}
|
||||
catch (Exception e)
|
||||
catch(Exception ex)
|
||||
{
|
||||
return ErrorResponse(e);
|
||||
return ErrorResponse(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using EnvelopeGenerator.Common;
|
||||
|
||||
using EnvelopeGenerator.Common;
|
||||
using EnvelopeGenerator.Web.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
@@ -7,12 +8,12 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
public class EnvelopeController : BaseController
|
||||
{
|
||||
private readonly EnvelopeService envelopeService;
|
||||
private readonly ActionService actionService;
|
||||
private readonly ActionService? actionService;
|
||||
|
||||
public EnvelopeController(DatabaseService database, LoggingService logging, EnvelopeService envelope) : base(database, logging)
|
||||
public EnvelopeController(DatabaseService database, EnvelopeService envelope, ILogger<EnvelopeController> logger) : base(database, logger)
|
||||
{
|
||||
envelopeService = envelope;
|
||||
actionService = database.Services?.actionService;
|
||||
actionService = database?.Services?.actionService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
@@ -21,8 +22,6 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.Info("EnvelopeController/Get");
|
||||
|
||||
// Validate Envelope Key and load envelope
|
||||
envelopeService.EnsureValidEnvelopeKey(envelopeKey);
|
||||
EnvelopeResponse response = await envelopeService.LoadEnvelope(envelopeKey);
|
||||
@@ -32,7 +31,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
return Problem(statusCode: 403);
|
||||
}
|
||||
|
||||
logger.Debug("Loaded envelope [{0}] for receiver [{1}]", response.Envelope.Id, response.Envelope.Id);
|
||||
_logger.LogInformation("Loaded envelope [{0}] for receiver [{1}]", response.Envelope.Id, response.Envelope.Id);
|
||||
return Json(response);
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -43,12 +42,10 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/envelope/{envelopeKey}")]
|
||||
public async Task<IActionResult> Update(string envelopeKey)
|
||||
public async Task<IActionResult> Update(string envelopeKey, int index)
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.Info("EnvelopeController/Update");
|
||||
|
||||
// Validate Envelope Key and load envelope
|
||||
envelopeService.EnsureValidEnvelopeKey(envelopeKey);
|
||||
EnvelopeResponse response = await envelopeService.LoadEnvelope(envelopeKey);
|
||||
@@ -59,10 +56,9 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
return Problem(statusCode: 403);
|
||||
}
|
||||
|
||||
var Request = ControllerContext.HttpContext.Request;
|
||||
var document = envelopeService.GetDocument(Request, envelopeKey);
|
||||
var document = envelopeService.GetDocument(index, envelopeKey);
|
||||
|
||||
string annotationData = await envelopeService.EnsureValidAnnotationData(Request);
|
||||
string? annotationData = await envelopeService.EnsureValidAnnotationData(Request);
|
||||
|
||||
envelopeService.InsertDocumentStatus(new DocumentStatus()
|
||||
{
|
||||
@@ -74,7 +70,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
|
||||
var signResult = actionService?.SignEnvelope(response.Envelope, response.Receiver);
|
||||
|
||||
return Ok(new object());
|
||||
return Ok();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
@@ -12,4 +12,4 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,10 +10,12 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
public class HomeController : BaseController
|
||||
{
|
||||
private readonly EnvelopeService _envelopeService;
|
||||
private readonly IConfiguration _config;
|
||||
|
||||
public HomeController(DatabaseService databaseService, LoggingService loggingService, EnvelopeService envelopeService): base(databaseService, loggingService)
|
||||
public HomeController(DatabaseService databaseService, EnvelopeService envelopeService, ILogger<HomeController> logger, IConfiguration configuration) : base(databaseService, logger)
|
||||
{
|
||||
_envelopeService = envelopeService;
|
||||
_config = configuration;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
@@ -25,12 +27,11 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
|
||||
[HttpPost]
|
||||
[Route("/")]
|
||||
public IActionResult DebugEnvelopes()
|
||||
public IActionResult DebugEnvelopes([FromForm] string password)
|
||||
{
|
||||
try
|
||||
{
|
||||
StringValues passwordFromForm = HttpContext.Request.Form["password"];
|
||||
string passwordFromConfig = database.GetAppSetting("Config:AdminPassword");
|
||||
var passwordFromConfig = _config["Config:AdminPassword"] ?? throw new InvalidOperationException("No admin password configured!");
|
||||
|
||||
if (passwordFromConfig == null)
|
||||
{
|
||||
@@ -38,14 +39,6 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
return View("Index");
|
||||
}
|
||||
|
||||
if (passwordFromForm.Count != 1)
|
||||
{
|
||||
ViewData["error"] = "No admin password configured!";
|
||||
return View("Index");
|
||||
}
|
||||
|
||||
string password = passwordFromForm[0];
|
||||
|
||||
if (password == null)
|
||||
{
|
||||
ViewData["error"] = "No password supplied!";
|
||||
@@ -107,7 +100,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
return Redirect($"/EnvelopeKey/{envelopeReceiverId}/Locked");
|
||||
}
|
||||
|
||||
if (accessCode.Equals(access_code, StringComparison.Ordinal))
|
||||
if (accessCode == access_code)
|
||||
{
|
||||
bool actionResult = database.Services.actionService.EnterCorrectAccessCode(response.Envelope, response.Receiver);
|
||||
ViewData["EnvelopeKey"] = envelopeReceiverId;
|
||||
|
||||
Reference in New Issue
Block a user