mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 11:44:56 +00:00
app.MapHub<FriendsHub>("/api/friends");
This commit is contained in:
@@ -10,12 +10,12 @@ namespace Govor.API.Controllers.Friends;
|
||||
[Route("api/friends")]
|
||||
public class FriendshipController : Controller
|
||||
{
|
||||
private readonly ILogger<FriendsController> _logger;
|
||||
private readonly ILogger<FriendshipController> _logger;
|
||||
private readonly IFriendshipService _friendsService;
|
||||
//private readonly IUserDtoBuilder _builder;
|
||||
private readonly ICurrentUserService _currentUserService;
|
||||
|
||||
public FriendshipController(ILogger<FriendsController> logger,
|
||||
public FriendshipController(ILogger<FriendshipController> logger,
|
||||
IFriendshipService friendsService,
|
||||
ICurrentUserService currentUserService)
|
||||
{
|
||||
@@ -47,6 +47,26 @@ public class FriendshipController : Controller
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet] // api/friends
|
||||
public async Task<IActionResult> GetFriends()
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _friendsService.GetFriendsAsync(_currentUserService.GetCurrentUserId());
|
||||
return Ok(BuildUserDtos(result));
|
||||
}
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
_logger.LogError(ex, ex.Message);
|
||||
return Ok(Array.Empty<UserDto>());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, ex.Message);
|
||||
return StatusCode(500, new { error = "Internal server error." });
|
||||
}
|
||||
}
|
||||
|
||||
private List<UserDto> BuildUserDtos(IEnumerable<User> users) => users.Select(user => new UserDto
|
||||
{
|
||||
Id = user.Id,
|
||||
|
||||
Reference in New Issue
Block a user