using HackerNet.Web.Models; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; namespace HackerNet.Web.Controllers; public class AccountController : HackerController { private readonly UserManager _userManager; public AccountController(UserManager userManager) { _userManager = userManager; } [HttpGet] public IActionResult Signup() { return View(new SignupLoginViewModel()); } [HttpPost] [ValidateAntiForgeryToken] public async Task Signup(SignupLoginViewModel cmd) { if (!ModelState.IsValid) { return View(cmd); } var user = new IdentityUser(cmd.Username); var result = await _userManager.CreateAsync(user, cmd.Password); if (!result.Succeeded) { ModelState .AddModelError(nameof(SignupLoginViewModel.Username), "Impossible de créer le compte"); return View(cmd); } SetFlashMessage("Votre compte a été créé !"); return RedirectToAction("Index", "Links"); } [HttpGet] public IActionResult Login() { return View(); } [HttpPost] [ValidateAntiForgeryToken] public IActionResult Login(SignupLoginViewModel cmd) { return View(); } }