public async Task <IActionResult> LogIn([FromBody] LogInAccount logInAccount)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var identity = await _accountService.LogIn(logInAccount);

                if (identity.Error != null)
                {
                    return(StatusCode(identity.Error.ErrorCode, identity.Error.ErrorDescriprion));
                }

                var response = await _accountService.GetToken(identity.Data);

                if (response.Error != null)
                {
                    return(StatusCode(identity.Error.ErrorCode, identity.Error.ErrorDescriprion));
                }
                return(Ok(response.Data));
            }
            catch (Exception e)
            {
                return(StatusCode(500, new Error(e.Message)));
            }
        }
        public async Task <Response <ClaimsIdentity> > LogIn(LogInAccount logIn)
        {
            var response = new Response <ClaimsIdentity>();

            try
            {
                var user = await GetUserByCreds(logIn.Nike, logIn.Password, logIn.UserRole);

                if (user == null)
                {
                    response.Error = new Error(404, "User not found!");
                    return(response);
                }
                var isCorrectDataFromUser =
                    await _context.Users.AnyAsync(p => p.Nike == logIn.Nike && p.Password == logIn.Password);

                if (!isCorrectDataFromUser)
                {
                    response.Error = new Error(400, "Nike or password is wrong");
                    return(response);
                }

                var claims = new List <Claim>
                {
                    new Claim(ClaimsIdentity.DefaultNameClaimType, user.Id.ToString()),
                    new Claim(ClaimsIdentity.DefaultRoleClaimType, user.Role.ToString())
                };
                ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims, "Token", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType);
                response.Data = claimsIdentity;
                return(response);
            }
            catch (Exception ex)
            {
                response.Error = new Error(500, "Can`t LogIn: " + ex);
                return(response);
            }
        }