BotSharp/src/Infrastructure/BotSharp.OpenAPI/Controllers/UserController.cs

41 lines
1.1 KiB
C#
Raw Normal View History

2023-08-19 00:15:02 +00:00
namespace BotSharp.OpenAPI.Controllers;
[Authorize]
[ApiController]
public class UserController : ControllerBase, IApiAdapter
{
private readonly IUserService _userService;
public UserController(IUserService userService)
{
_userService = userService;
}
[AllowAnonymous]
[HttpPost("/token")]
public async Task<ActionResult<Token>> GetToken()
{
var authcode = Request.Headers["Authorization"].ToString();
var token = await _userService.GetToken(authcode.Split(' ')[1]);
if (token == null)
{
return Unauthorized();
}
return Ok(token);
}
[AllowAnonymous]
[HttpPost("/user")]
public async Task<UserViewModel> CreateUser(UserCreationModel user)
{
var createdUser = await _userService.CreateUser(user.ToUser());
return UserViewModel.FromUser(createdUser);
}
[HttpGet("/user/my")]
public async Task<UserViewModel> GetMyUserProfile()
{
var user = await _userService.GetMyProfile();
return UserViewModel.FromUser(user);
}
}