using Galaeth.Core.Dtos; using Galaeth.Services.Interfaces; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Galaeth.ApiServer.Controllers; /// /// Api methods for the requesting authorised user. /// [ApiController] [Authorize] [Route("v1/me")] public class UserSelfController : ApiController { private readonly IIdentityProvider _identityProvider; private readonly IUserService _userService; /// /// Initializes a new instance of the class. /// /// Instance of . /// Instance of . public UserSelfController( IIdentityProvider identityProvider, IUserService userService) { _identityProvider = identityProvider; _userService = userService; } /// /// Get the requesting user information and return it. /// /// Instance of . [HttpGet] public async Task GetMe() { var userId = _identityProvider.GetRequestingUserId(); var user = await _userService.FindById(userId); return SuccessResult(user); } }