public function OrphanedFilterHandler::onDeleteWebhook in Acquia Content Hub 8.2
Gathers information about orphaned filters.
Parameters
\Drupal\acquia_contenthub\Event\AcquiaContentHubUnregisterEvent $event: The event being dispatched.
Throws
\Exception
File
- src/
EventSubscriber/ Unregister/ OrphanedFilterHandler.php, line 50
Class
- OrphanedFilterHandler
- Discovers filters which belongs to given webhook.
Namespace
Drupal\acquia_contenthub\EventSubscriber\UnregisterCode
public function onDeleteWebhook(AcquiaContentHubUnregisterEvent $event) : void {
$client = $this->clientFactory
->getClient();
$webhooks = $client
->getWebHooks();
$deleted_webhook_filters = [];
$other_webhook_filters = [];
$client_name = '';
foreach ($webhooks as $webhook) {
if ($webhook
->getUuid() === $event
->getWebhookUuid()) {
// Filters belong to webhook which will be deleted.
$deleted_webhook_filters = $webhook
->getFilters();
// Client name which belongs to webhook which will be deleted.
$client_name = $webhook
->getClientName();
$event
->setClientName($client_name);
continue;
}
// Filters list belong to other webhooks.
$other_webhook_filters = array_merge($webhook
->getFilters(), $other_webhook_filters);
}
// Filters which belong only to deleted webhook.
$orphaned_filters = array_diff($deleted_webhook_filters, $other_webhook_filters);
$this
->setFiltersInEvent($orphaned_filters, $client_name, $event);
}