public async Task <IActionResult> Accept([FromRoute] Guid fromUserId)
        {
            var result = await _socialService.AcceptFriendshipRequestAsync(await GetAuthenticatedUserAccount(), fromUserId);

            if (result.Failed)
            {
                return(BadRequest());
            }
            await _hubContext.Clients
            .User(fromUserId.ToString())
            .SendAsync(
                FriendshipHub.FriendshipRequestAcceptedMessage,
                FriendshipRequestViewModel.FromEntity(result.Data)
                );

            return(Ok());
        }
Пример #2
0
        public async Task <IActionResult> Delete([FromRoute] Guid friendId)
        {
            var result = await _socialService.RemoveFriend(await GetAuthenticatedUserAccount(), friendId);

            if (result.Failed)
            {
                return(BadRequest(new ValidationErrorResponse(result.Error)));
            }
            await _hubContext.Clients
            .User(friendId.ToString())
            .SendAsync(
                FriendshipHub.FriendshipRemovedMessage,
                FriendshipRequestViewModel.FromEntity(result.Data)
                );

            return(NoContent());
        }
        public async Task <IActionResult> Send([FromBody] SendFriendshipRequestDto friendshipRequestDto)
        {
            friendshipRequestDto.From = await GetAuthenticatedUserAccount();

            var result = await _socialService.SendFriendshipRequest(friendshipRequestDto);

            if (result.Failed)
            {
                return(BadRequest(new ValidationErrorResponse(result.Error)));
            }
            await _hubContext.Clients
            .User(result.Data.ToId.ToString())
            .SendAsync(
                FriendshipHub.FriendshipRequestReceivedMessage,
                FriendshipRequestViewModel.FromEntity(result.Data)
                );

            return(Ok());
        }