From 9383a2fb09ffb60cfe63683106945bd688affa59 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Wed, 1 Jun 2022 21:13:43 +0200 Subject: feat: Initial commit after clean slate --- src/Controllers/RootController.cs | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/Controllers/RootController.cs (limited to 'src/Controllers/RootController.cs') diff --git a/src/Controllers/RootController.cs b/src/Controllers/RootController.cs new file mode 100644 index 0000000..6a31d46 --- /dev/null +++ b/src/Controllers/RootController.cs @@ -0,0 +1,75 @@ +using System; +using System.Text; +using IOL.VippsEcommerce; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Localization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Configuration; +using VSH.Data.Static; + +namespace VSH.Controllers; + +public class RootController : MainControllerBase +{ + private readonly IVippsEcommerceService _vippsEcommerceService; + private readonly IConfiguration _configuration; + + public RootController(IConfiguration configuration, IVippsEcommerceService vippsEcommerceService) { + _configuration = configuration; + _vippsEcommerceService = vippsEcommerceService; + } + + [HttpGet("~/kontoret")] + public ActionResult AdminRedirect() { + return Redirect("/kontoret/produkter"); + } + + [Authorize] + [HttpGet("~/info")] + public ActionResult GetInfo() { + var infoString = new StringBuilder(); + infoString.AppendLine("Variables"); + infoString.AppendLine($" - CurrentHost: {CurrentHost}"); + infoString.AppendLine("Environment"); + infoString.AppendLine($" - DB_HOST: {_configuration.GetValue("DB_HOST", "unset")}"); + infoString.AppendLine($" - DB_PORT: {_configuration.GetValue("DB_PORT", "unset")}"); + infoString.AppendLine($" - DB_USER: {_configuration.GetValue("DB_USER", "unset")}"); + infoString.AppendLine($" - DB_PASSWORD: {HiddenIfSet(_configuration.GetValue("DB_PASSWORD", "unset"))}"); + infoString.AppendLine($" - DB_NAME: {_configuration.GetValue("DB_NAME", "unset")}"); + infoString.AppendLine($" - SENDGRID_API_KEY: {HiddenIfSet(_configuration.GetValue("SENDGRID_API_KEY", "unset"))}"); + infoString.AppendLine($" - MAIL_FROM_ADDRESS: {_configuration.GetValue("MAIL_FROM_ADDRESS", "unset")}"); + infoString.AppendLine($" - MAIL_REPLY_TO_ADDRESS: {_configuration.GetValue("MAIL_REPLY_TO_ADDRESS", "unset")}"); + infoString.AppendLine($" - MAIL_FROM_NAME: {_configuration.GetValue("MAIL_FROM_NAME", "unset")}"); + infoString.AppendLine("Headers"); + infoString.AppendLine($" - X-Forwarded-For: {Request.Headers["X-Forwarded-For"]}"); + infoString.AppendLine($" - X-Real-IP: {Request.Headers["X-Real-IP"]}"); + infoString.AppendLine($" - X-Forwarded-Host: {Request.Headers["X-Forwarded-Host"]}"); + infoString.AppendLine($" - X-Forwarded-Proto: {Request.Headers["X-Forwarded-Proto"]}"); + return Ok(infoString.ToString()); + } + + [Authorize] + [HttpGet("~/vipps-config")] + public ActionResult GetVippsConfiguration() { + return Ok(_vippsEcommerceService.Configuration); + } + + private string HiddenIfSet(string value) { + return value == "unset" ? "unset" : "*****"; + } + + [HttpPost("~/set-culture")] + public ActionResult SetCulture( + [FromForm] string culture, + [FromQuery] string returnUrl + ) { + Response.Cookies.Append(AppCookies.Culture.Name, + CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)), + new CookieOptions { + Expires = DateTimeOffset.UtcNow.AddYears(1) + }); + + return LocalRedirect(returnUrl); + } +} \ No newline at end of file -- cgit v1.3