CONTROLLERS.

This commit is contained in:
MarcEricMartel
2022-11-02 18:00:48 -07:00
parent 8b776405be
commit c59c7ee9f1
7 changed files with 235 additions and 27 deletions

View File

@@ -1,4 +1,5 @@
using GrossesMitainesAPI.Data;
using GrossesMitainesAPI.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Identity;
@@ -10,16 +11,34 @@ namespace GrossesMitainesAPI.Controllers;
public class UserController : Controller {
private readonly UserManager<InventoryUser> _userMan;
private readonly SignInManager<InventoryUser> _signInMan;
private readonly ILogger<UserController> _logger;
public UserController(SignInManager<InventoryUser> signin, UserManager<InventoryUser> userman) {
this._signInMan = signin;
this._userMan = userman;
public UserController(ILogger<UserController> logger, SignInManager<InventoryUser> signin, UserManager<InventoryUser> userman) {
_logger = logger;
_signInMan = signin;
_userMan = userman;
}
[HttpPost, AllowAnonymous]
public async Task<ActionResult<ReturnUserViewModel>> Post(SignUpUserModel sign) {
InventoryUser usr;
try {
usr = new(sign);
} catch {
return BadRequest("Erreur utilisateur");
}
try {
usr.PasswordHash = new PasswordHasher<InventoryUser>().HashPassword(usr, sign.Password);
} catch {
return BadRequest("Erreur de mot de passe.");
}
try {
await _userMan.CreateAsync(usr);
await _userMan.AddToRoleAsync(usr, "Client");
} catch (Exception e) {
return BadRequest(e.Message);
}
return new ReturnUserViewModel(usr, "Client");
}
}