using System.ComponentModel.DataAnnotations; namespace BotSharp.OpenAPI.Controllers; [Authorize] [ApiController] public class UserController : ControllerBase { private readonly IUserService _userService; public UserController(IUserService userService) { _userService = userService; } [AllowAnonymous] [HttpPost("/token")] public async Task> GetToken([FromHeader(Name = "Authorization")][Required] string authcode) { if (authcode.Contains(' ')) { authcode = authcode.Split(' ')[1]; } var token = await _userService.GetToken(authcode); if (token == null) { return Unauthorized(); } return Ok(token); } [AllowAnonymous] [HttpPost("/user")] public async Task CreateUser(UserCreationModel user) { var createdUser = await _userService.CreateUser(user.ToUser()); return UserViewModel.FromUser(createdUser); } [HttpGet("/user/my")] public async Task GetMyUserProfile() { var user = await _userService.GetMyProfile(); return UserViewModel.FromUser(user); } }