public async Task <AdminCredentialsValidationResponse> ValidateAsync(
            [FromBody] CredentialsValidationRequest request)
        {
            bool   isValid;
            string adminId;

            try
            {
                (isValid, adminId) = await _adminCredentialsService.ValidateAsync(request.Login, request.Password);
            }
            catch (AdminCredentialsNotFoundException)
            {
                return(new AdminCredentialsValidationResponse {
                    Error = CredentialsError.LoginNotFound
                });
            }

            if (!isValid)
            {
                return new AdminCredentialsValidationResponse {
                           Error = CredentialsError.PasswordMismatch
                }
            }
            ;

            return(new AdminCredentialsValidationResponse {
                AdminId = adminId, Error = CredentialsError.None
            });
        }
        public async Task <CredentialsValidationResponse> ValidateCredentialsAsync(
            [FromBody] CredentialsValidationRequest request)
        {
            var credentials = await _customerCredentialsService.GetAsync(request.Login);

            if (credentials == null)
            {
                _log.Info("Login not found", request.Login.SanitizeEmail());
                return(new CredentialsValidationResponse {
                    Error = CredentialsError.LoginNotFound
                });
            }

            var isValid = _customerCredentialsService.Validate(credentials, request.Password);

            if (isValid)
            {
                return new CredentialsValidationResponse {
                           CustomerId = credentials.CustomerId
                }
            }
            ;

            return(new CredentialsValidationResponse {
                Error = CredentialsError.PasswordMismatch
            });
        }