示例#1
0
        public async Task <IActionResult> IgnoreFriendRequest([FromBody] long friendRequestId,
                                                              CancellationToken cancellationToken)
        {
            var friendRequest = await _friendRequestManager.GetAsync(friendRequestId, cancellationToken);

            if (friendRequest == null)
            {
                return(NotFound());
            }

            if (AccountId != friendRequest.ToAccountId)
            {
                return(Forbidden());
            }

            if (friendRequest.StatusId != FriendRequestStatus.Pending)
            {
                return(BadRequest("invalid_state", "friend request in invalid state"));
            }

            friendRequest.StatusId = FriendRequestStatus.Ignored;
            await _friendRequestManager.SaveAsync(friendRequest, cancellationToken);

            return(Ok());
        }