using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Web.Services; using Microsoft.AspNetCore.Mvc; namespace EnvelopeGenerator.Web.Controllers.Test; [Route("api/test/[controller]")] public class TestViewController : BaseController { private readonly EnvelopeOldService envelopeOldService; private readonly IConfiguration _config; public TestViewController(DatabaseService databaseService, EnvelopeOldService envelopeOldService, ILogger logger, IConfiguration configuration) : base(databaseService, logger) { this.envelopeOldService = envelopeOldService; _config = configuration; } [HttpGet] public IActionResult Index() { return View("AnnotationIndex"); } [HttpPost] public IActionResult DebugEnvelopes([FromForm] string? password) { try { var passwordFromConfig = _config["AdminPassword"]; if (passwordFromConfig == null) { ViewData["error"] = "No admin password configured!"; return View("AnnotationIndex"); } if (password != passwordFromConfig) { ViewData["error"] = "Wrong Password!"; return View("AnnotationIndex"); } List envelopes = envelopeOldService.LoadEnvelopes(); return View("DebugEnvelopes", envelopes); } catch(Exception ex) { _logger.LogError(ex, "Unexpected error"); ViewData["error"] = "Unknown error!"; return View("AnnotationIndex"); } } }