Some changes to get register/login flow working smoothly with Admin role.

This commit is contained in:
Joseph Milazzo 2020-12-22 17:28:38 -06:00
parent 259b954f26
commit bb276a5984
6 changed files with 26 additions and 21 deletions

View file

@ -37,7 +37,6 @@ namespace API.Controllers
[HttpPost("register")]
public async Task<ActionResult<UserDto>> Register(RegisterDto registerDto)
{
_logger.LogInformation("Username: " + registerDto.Password);
if (await UserExists(registerDto.Username))
{
return BadRequest("Username is taken.");
@ -48,16 +47,18 @@ namespace API.Controllers
var result = await _userManager.CreateAsync(user, registerDto.Password);
if (!result.Succeeded) return BadRequest(result.Errors);
var roleResult = await _userManager.AddToRoleAsync(user, "Pleb");
// TODO: Need a way to store Roles in enum and configure from there
var role = registerDto.IsAdmin ? "Admin" : "Pleb";
var roleResult = await _userManager.AddToRoleAsync(user, role);
if (!roleResult.Succeeded) return BadRequest(result.Errors);
return new UserDto()
return new UserDto
{
Username = user.UserName,
Token = await _tokenService.CreateToken(user),
IsAdmin = user.IsAdmin
};
}
@ -79,11 +80,10 @@ namespace API.Controllers
_userRepository.Update(user);
await _userRepository.SaveAllAsync();
return new UserDto()
return new UserDto
{
Username = user.UserName,
Token = await _tokenService.CreateToken(user),
IsAdmin = user.IsAdmin
Token = await _tokenService.CreateToken(user)
};
}