docs: def _refresh_db_conditional(saltenv, **kwargs):
      '''
      Internal use only in this module, has a different set of defaults and
      returns True or False. And supports checking the age of the existing
      generated metadata db, as well as ensure metadata db exists to begin with
  
      Args:
          saltenv (str): Salt environment
  
      Kwargs:
  
          force (bool):
              Force a refresh if the minimum age has been reached. Default is
              False.
  
          failhard (bool):
              If ``True``, an error will be raised if any repo SLS files failed to
              process.
  
      Returns:
          bool: True Fetched or Cache uptodate, False to indicate an issue
  
      :codeauthor: Damon Atkins <https://github.com/damon-atkins>
      '''
      force = salt.utils.data.is_true(kwargs.pop('force', False))
      failhard = salt.utils.data.is_true(kwargs.pop('failhard', False))
      expired_max = __opts__['winrepo_cache_expire_max']
      expired_min = __opts__['winrepo_cache_expire_min']
  
      repo_details = _get_repo_details(saltenv)
  
      # Skip force if age less than minimum age
      if force and expired_min > 0 and repo_details.winrepo_age < expired_min:
          log.info(
              'Refresh skipped, age of winrepo metadata in seconds (%s) is less '
              'than winrepo_cache_expire_min (%s)',
              repo_details.winrepo_age, expired_min
          )
          force = False
  
      # winrepo_age is -1 if repo db does not exist
      refresh = True if force \
          or repo_details.winrepo_age == -1 \
          or repo_details.winrepo_age > expired_max \
          else False
  
      if not refresh:
          log.debug(
              'Using existing pkg metadata db for saltenv \'%s\' (age is %s)',
              saltenv, datetime.timedelta(seconds=repo_details.winrepo_age)
          )
          return True
  
      if repo_details.winrepo_age == -1:
          # no repo meta db
          log.debug(
              'No winrepo.p cache file for saltenv \'%s\', creating one now',
              saltenv
          )
  
      results = refresh_db(saltenv=saltenv, verbose=False, failhard=failhard)
      try:
          # Return True if there were no failed winrepo SLS files, and False if
          # failures were reported.
          return not bool(results.get('failed', 0))
      except AttributeError:
          return False