using Fengling.AuthService.ViewModels; using Microsoft.AspNetCore.Mvc; namespace Fengling.AuthService.Controllers; [Route("dashboard")] public class DashboardController : Controller { private readonly ILogger _logger; public DashboardController(ILogger logger) { _logger = logger; } [HttpGet("")] [HttpGet("index")] public IActionResult Index() { if (User.Identity?.IsAuthenticated != true) { return RedirectToAction("Login", "Account", new { returnUrl = "/dashboard" }); } return View("Index", new DashboardViewModel { Username = User.Identity?.Name, Email = User.FindFirst(System.Security.Claims.ClaimTypes.Email)?.Value }); } [HttpGet("profile")] public IActionResult Profile() { if (User.Identity?.IsAuthenticated != true) { return RedirectToAction("Login", "Account", new { returnUrl = "/dashboard/profile" }); } return View(new DashboardViewModel { Username = User.Identity?.Name, Email = User.FindFirst(System.Security.Claims.ClaimTypes.Email)?.Value }); } [HttpGet("settings")] public IActionResult Settings() { if (User.Identity?.IsAuthenticated != true) { return RedirectToAction("Login", "Account", new { returnUrl = "/dashboard/settings" }); } return View(new DashboardViewModel { Username = User.Identity?.Name, Email = User.FindFirst(System.Security.Claims.ClaimTypes.Email)?.Value }); } }