public async Task <IActionResult> GetMessages([FromServices] IChatMessagesQueue messages, CancellationToken cancellationToken)
 {
     return(Ok(await messages.GetMessages(HttpContext.RequestServices, cancellationToken)));
 }
        public async Task <IActionResult> AddMessage([FromBody] ChatMessage chatMessage, [FromServices] IChatMessagesQueue messages, CancellationToken cancellationToken)
        {
            var surname = User.FindFirst(c => c.Type == ClaimTypes.Surname);

            if (surname != null)
            {
                if (Int64.TryParse(surname.Value, out long userId))
                {
                    await messages.AddMessage(HttpContext.RequestServices, chatMessage, userId, cancellationToken);

                    return(Ok());
                }

                return(BadRequest());
            }

            return(Forbid());
        }