62 lines
1.6 KiB
C#
62 lines
1.6 KiB
C#
using Fengling.AuthService.ViewModels;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Fengling.AuthService.Controllers;
|
|
|
|
[Route("dashboard")]
|
|
public class DashboardController : Controller
|
|
{
|
|
private readonly ILogger<DashboardController> _logger;
|
|
|
|
public DashboardController(ILogger<DashboardController> 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
|
|
});
|
|
}
|
|
}
|