Example #1
0
        public async Task <IActionResult> AcceptRequest([FromRoute] Guid receiverId, [FromRoute] Guid senderId,
                                                        [FromRoute] byte requestTypeId)
        {
            var tkn = Request.Headers["Authorization"];

            if (!_authService.AuthorizeSelf(tkn, receiverId))
            {
                return(Unauthorized());
            }

            var request = new Request
            {
                SenderId    = senderId,
                ReceiverId  = receiverId,
                RequestType = (RequestType)requestTypeId
            };

            var validationResult = await _requestValidator.ValidateAcceptRequest(request);

            if (validationResult.Any())
            {
                return(BadRequest(validationResult));
            }

            await _requestsService.AcceptRequest(request);

            return(Ok());
        }