You are here

class TeamInvitationQueryAccessSubscriber in Apigee Edge 8

Subscribes to query access events for team_invitation.

Hierarchy

Expanded class hierarchy of TeamInvitationQueryAccessSubscriber

1 string reference to 'TeamInvitationQueryAccessSubscriber'
apigee_edge_teams.services.yml in modules/apigee_edge_teams/apigee_edge_teams.services.yml
modules/apigee_edge_teams/apigee_edge_teams.services.yml
1 service uses TeamInvitationQueryAccessSubscriber
apigee_edge_teams.team_invitation_query_access_subscriber in modules/apigee_edge_teams/apigee_edge_teams.services.yml
Drupal\apigee_edge_teams\EventSubscriber\TeamInvitationQueryAccessSubscriber

File

modules/apigee_edge_teams/src/EventSubscriber/TeamInvitationQueryAccessSubscriber.php, line 30

Namespace

Drupal\apigee_edge_teams\EventSubscriber
View source
class TeamInvitationQueryAccessSubscriber implements EventSubscriberInterface {

  /**
   * The entity type manager service.
   *
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
   */
  protected $entityTypeManager;

  /**
   * TeamInvitationQueryAccessSubscriber constructor.
   *
   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
   *   The entity type manager service.
   */
  public function __construct(EntityTypeManagerInterface $entity_type_manager) {
    $this->entityTypeManager = $entity_type_manager;
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    return [
      'entity.query_access.team_invitation' => 'onQueryAccess',
    ];
  }

  /**
   * Modifies the access conditions for team_invitation.
   *
   * @param \Drupal\entity\QueryAccess\QueryAccessEvent $event
   *   The event.
   */
  public function onQueryAccess(QueryAccessEvent $event) {

    // Add a condition to check for a valid team.
    // We query team from storage instead of check for a null team field because
    // the team might have been deleted on the remote server.
    $team_ids = array_keys($this->entityTypeManager
      ->getStorage('team')
      ->loadMultiple());
    $event
      ->getConditions()
      ->addCondition('team', $team_ids);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
TeamInvitationQueryAccessSubscriber::$entityTypeManager protected property The entity type manager service.
TeamInvitationQueryAccessSubscriber::getSubscribedEvents public static function Returns an array of event names this subscriber wants to listen to.
TeamInvitationQueryAccessSubscriber::onQueryAccess public function Modifies the access conditions for team_invitation.
TeamInvitationQueryAccessSubscriber::__construct public function TeamInvitationQueryAccessSubscriber constructor.