using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Mvc; namespace MiniWiki.Web.Users; [Route("/users")] public class UsersController(UsersAction usersAction) : ControllerBase { [HttpGet("/profile")] [Authorize] public async Task GetProfileAsync() { var result = await usersAction.GetCurrentUserAsync(User); if (result.IsError) return result.StatusResult!; return new RazorComponentResult(new { User = result.Object! }); } }