eca-1.0.x-dev/modules/endpoint/src/Event/EndpointAccessEvent.php
modules/endpoint/src/Event/EndpointAccessEvent.php
<?php
namespace Drupal\eca_endpoint\Event;
use Drupal\Core\Access\AccessResultInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\eca\Event\AccessEventInterface;
/**
* Dispatched when an ECA Endpoint is being checked for access.
*
* @internal
* This class is not meant to be used as a public API. It is subject for name
* change or may be removed completely, also on minor version updates.
*
* @package Drupal\eca_endpoint\Event
*/
class EndpointAccessEvent extends EndpointEventBase implements AccessEventInterface {
/**
* The arguments provided in the URL path.
*
* @var array
*/
public array $pathArguments;
/**
* The user account.
*
* @var \Drupal\Core\Session\AccountInterface
*/
public AccountInterface $account;
/**
* The access result.
*
* @var \Drupal\Core\Access\AccessResultInterface|null
*/
protected ?AccessResultInterface $accessResult = NULL;
/**
* Constructs a new EcaRenderEndpointResponseEvent object.
*
* @param array &$path_arguments
* The arguments provided in the URL path.
* @param \Drupal\Core\Session\AccountInterface $account
* The user account.
* @param \Drupal\Core\Access\AccessResultInterface|null $access_result
* (optional) The predefined access result.
*/
public function __construct(array &$path_arguments, AccountInterface $account, ?AccessResultInterface $access_result = NULL) {
$this->pathArguments = &$path_arguments;
$this->account = $account;
$this->accessResult = $access_result;
}
/**
* {@inheritdoc}
*/
public function getAccessResult(): ?AccessResultInterface {
return $this->accessResult;
}
/**
* {@inheritdoc}
*/
public function setAccessResult(AccessResultInterface $result): EndpointAccessEvent {
$this->accessResult = $result;
return $this;
}
/**
* {@inheritdoc}
*/
public function getAccount(): AccountInterface {
return $this->account;
}
}
