You are here

function acquia_contenthub_subscriber_evaluate_filter_conditions in Acquia Content Hub 8

Checks whether this asset (entity) matches the filter condition.

Parameters

\Drupal\acquia_contenthub_subscriber\ContentHubFilterInterface $contenthub_filter: A Content Hub Filter.

array $asset: An entity [entity_type, entity_uuid].

Return value

bool TRUE if matches condition, FALSE otherwise.

1 call to acquia_contenthub_subscriber_evaluate_filter_conditions()
acquia_contenthub_subscriber_process_filters in acquia_contenthub_subscriber/acquia_contenthub_subscriber.module
Processes an Asset that has arrived through a Webhook.

File

acquia_contenthub_subscriber/acquia_contenthub_subscriber.module, line 123
Handles Content Hub Content Subscriptions and Updates.

Code

function acquia_contenthub_subscriber_evaluate_filter_conditions(ContentHubFilterInterface $contenthub_filter, array $asset) {
  $asset_uuid = $asset['uuid'];
  $asset_type = $asset['type'];

  /* @var \Drupal\acquia_contenthub\ContentHubSearch $contenthub_search */
  $contenthub_search = \Drupal::service('acquia_contenthub.acquia_contenthub_search');

  // Obtain the Filter conditions.
  $conditions = $contenthub_filter
    ->getConditions();

  // Process the uuid that comes in the webhook's asset.
  if (isset($asset_uuid) && !empty($conditions)) {
    $count = $contenthub_search
      ->buildElasticSearchQuery($conditions, $asset_uuid, $asset_type);
    if ($count > 0) {
      return TRUE;
    }
  }
  else {
    return TRUE;
  }

  // If we reach here, return FALSE.
  return FALSE;
}