public async Task <IActionResult> Authenticate([FromBody] AuthenticationnModel input)
        {
            try
            {
                var loginResult = await _authenticationRepository.AuthenticateAsync(input.Login, input.Password);

                if (!loginResult.Success)
                {
                    return(Unauthorized(loginResult.Error));
                }

                var accessToken = _authenticationRepository.GenerateToken(loginResult, _appSettings);

                return(Ok(new AuthenticationReponse()
                {
                    AccessToken = accessToken,
                    ExpireInSeconds = (int)TimeSpan.FromHours(2).TotalSeconds,
                    Name = loginResult.Name,
                    Photo = loginResult.Photo,
                    Roles = loginResult.Roles
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }