You are here

public function SearchApiAlgoliaHelper::scheduleForDeletion in Search API Algolia 3.0.x

Store deleted items in search_api_algolia_deleted_items table.

This items will be deleted via drush command sapia-d.

Parameters

\Drupal\search_api\IndexInterface $index: Index.

array $item_ids: Items to delete.

string|null $language: Language code if multi-lingual.

1 call to SearchApiAlgoliaHelper::scheduleForDeletion()
SearchApiAlgoliaHelper::entityDelete in src/SearchApiAlgoliaHelper.php
Implements hook_entity_delete().

File

src/SearchApiAlgoliaHelper.php, line 107

Class

SearchApiAlgoliaHelper
Class Search Api Algolia Helper.

Namespace

Drupal\search_api_algolia

Code

public function scheduleForDeletion(IndexInterface $index, array $item_ids, $language = NULL) {
  if ($index
    ->get('read_only')) {
    return;
  }
  foreach ($item_ids as $objectid) {
    $indexId = $index
      ->getOption('algolia_index_name');
    if ($index
      ->getOption('algolia_index_apply_suffix') && !empty($language)) {
      $indexId .= '_' . $language;
    }
    $this->connection
      ->insert('search_api_algolia_deleted_items')
      ->fields([
      'index_id',
      'object_id',
    ])
      ->values([
      'index_id' => $indexId,
      'object_id' => $objectid,
    ])
      ->execute();
  }
}