public function preprocessSearchQuery()

in modules/quanthub_core/src/Plugin/search_api/processor/AllowedContentFilter.php [65:84]


  public function preprocessSearchQuery(QueryInterface $query) {
    if (getenv('WSO_IGNORE') !== 'TRUE') {
      $allowed_datasets = $this->allowedContentManager->getAllowedDatasetList();
    }
    if (!empty($allowed_datasets)) {
      $condition_group_or = $query->createConditionGroup('OR');
      $condition_group_or_relation = $query->createConditionGroup('OR');

      foreach ($allowed_datasets as $dataset) {
        $condition_group_or->addCondition(self::QUANTHUB_URN_FIELD, $dataset, 'EXACT');
        $condition_group_or_relation->addCondition(self::QUANTHUB_URN_FIELD_RELATION, $dataset, 'EXACT');
      }
      $condition_group_or->addCondition(self::QUANTHUB_URN_FIELD, NULL);
      $condition_group_or_relation->addCondition(self::QUANTHUB_URN_FIELD_RELATION, NULL);

      $query
        ->addConditionGroup($condition_group_or)
        ->addConditionGroup($condition_group_or_relation);
    }
  }