code: function updateCheck() {
      // CASE: The check will not happen if your NODE_ENV is not in the allowed defined environments.
      if (_.indexOf(allowedCheckEnvironments, process.env.NODE_ENV) === -1) {
          return Promise.resolve();
      }
  
      return api.settings.read(_.extend({key: 'next_update_check'}, internal))
          .then(function then(result) {
              const nextUpdateCheck = result.settings[0];
  
              // CASE: Next update check should happen now?
              // @NOTE: You can skip this check by adding a config value. This is helpful for developing.
              if (!config.get('updateCheck:forceUpdate') && nextUpdateCheck && nextUpdateCheck.value && nextUpdateCheck.value > moment().unix()) {
                  return Promise.resolve();
              }
  
              return updateCheckRequest()
                  .then(updateCheckResponse)
                  .catch(updateCheckError);
          })
          .catch(updateCheckError);
  }
docs: @description Entry point to trigger the update check unit.
  
  Based on a settings value, we check if `next_update_check` is less than now to decide whether
  we should request the update check service (http://updates.ghost.org) or not.
  
  @returns {Promise}