public async Task Login([FromBody] JsonDocument request)
        {
            JObject jValue = WebMessageHelpers.GetJObjectFromBody(request);

            Response.Headers.Add("Access-Control-Allow-Headers", "*");
            Response.Headers.Add("Content-Type", "application/json");
            User userAuth = new User(0, jValue.GetValue("login").ToString(), jValue.GetValue("password").ToString());
            var  user     = _context.User.FirstOrDefault(row => row.Login == userAuth.Login);

            byte[] body;

            if (user != null)
            {
                string hashPassword = UserHelpers.HashPassword(userAuth.Login, userAuth.Password);

                if (user.Password != hashPassword)
                {
                    Response.StatusCode = 401;
                    body = UserHelpers.WrongPasswordOrLogin();
                    await Response.Body.WriteAsync(body, 0, body.Length);

                    return;
                }

                var    logedUser = _context.ActiveUser.FirstOrDefault(row => row.UserId == user.Id);
                string token     = "";
                if (logedUser != null)
                {
                    token = logedUser.Token;
                }
                else
                {
                    token = UserHelpers.GenerateUserToken();
                    ActiveUser activeUser = new ActiveUser(0, user.Id, token);
                    _context.ActiveUser.Add(activeUser);
                    await _context.SaveChangesAsync();
                }

                body = UserHelpers.SuccessfulLogin(token);
                Response.StatusCode = 200;
                await Response.Body.WriteAsync(body, 0, body.Length);
            }
            else
            {
                Response.StatusCode = 401;
                body = UserHelpers.WrongPasswordOrLogin();
                await Response.Body.WriteAsync(body, 0, body.Length);

                return;
            }
        }