Users API: Add roles (#1914)

* API: Fix create user response model

* API: Add roles to user data
This commit is contained in:
Dennis Reimann
2020-09-16 14:17:33 +02:00
committed by GitHub
parent 2711f2cb2f
commit 8ba852084e
4 changed files with 29 additions and 8 deletions

View File

@@ -58,7 +58,7 @@ namespace BTCPayServer.Controllers.GreenField
public async Task<ActionResult<ApplicationUserData>> GetCurrentUser()
{
var user = await _userManager.GetUserAsync(User);
return FromModel(user);
return await FromModel(user);
}
[AllowAnonymous]
@@ -152,17 +152,20 @@ namespace BTCPayServer.Controllers.GreenField
}
}
_eventAggregator.Publish(new UserRegisteredEvent() { RequestUri = Request.GetAbsoluteRootUri(), User = user, Admin = request.IsAdministrator is true });
return CreatedAtAction(string.Empty, user);
var model = await FromModel(user);
return CreatedAtAction(string.Empty, model);
}
private static ApplicationUserData FromModel(ApplicationUser data)
private async Task<ApplicationUserData> FromModel(ApplicationUser data)
{
var roles = (await _userManager.GetRolesAsync(data)).ToArray();
return new ApplicationUserData()
{
Id = data.Id,
Email = data.Email,
EmailConfirmed = data.EmailConfirmed,
RequiresEmailConfirmation = data.RequiresEmailConfirmation
RequiresEmailConfirmation = data.RequiresEmailConfirmation,
Roles = roles
};
}
}