get('ocfl_export.exporter'), $container->get('logger.factory')->get('ocfl_export'), ); } /** * {@inheritdoc} */ public function execute(?NodeInterface $node = NULL): void { if (!$node) { return; } try { $success = $this->exporter->exportNode($node, 'Bulk action export'); if ($success) { $this->logger->info('Batch exported node @nid (@title) to OCFL.', [ '@nid' => $node->id(), '@title' => $node->getTitle(), ]); } else { $this->logger->error('Failed to batch export node @nid to OCFL.', [ '@nid' => $node->id(), ]); } } catch (\Exception $e) { $this->logger->error('Error exporting node @nid to OCFL: @message', [ '@nid' => $node->id(), '@message' => $e->getMessage(), ]); } } /** * {@inheritdoc} */ public function access($object, ?AccountInterface $account = NULL, $return_as_object = FALSE): bool { /** @var \Drupal\node\NodeInterface $object */ $access = $object->access('view', $account, TRUE) ->andIf($object->access('update', $account, TRUE)); return $return_as_object ? $access : $access->isAllowed(); } }