vendor/ibexa/http-cache/src/lib/EventSubscriber/CachePurge/RoleEventsSubscriber.php line 31

Open in your IDE?
  1. <?php
  2. /**
  3.  * @copyright Copyright (C) Ibexa AS. All rights reserved.
  4.  * @license For full copyright and license information view LICENSE file distributed with this source code.
  5.  */
  6. declare(strict_types=1);
  7. namespace Ibexa\HttpCache\EventSubscriber\CachePurge;
  8. use Ibexa\Contracts\Core\Repository\Events\Role\AssignRoleToUserEvent;
  9. use Ibexa\Contracts\Core\Repository\Events\Role\AssignRoleToUserGroupEvent;
  10. use Ibexa\Contracts\Core\Repository\Events\Role\DeleteRoleEvent;
  11. use Ibexa\Contracts\Core\Repository\Events\Role\PublishRoleDraftEvent;
  12. use Ibexa\Contracts\Core\Repository\Events\Role\RemoveRoleAssignmentEvent;
  13. use Symfony\Contracts\EventDispatcher\Event;
  14. final class RoleEventsSubscriber extends AbstractSubscriber
  15. {
  16.     public static function getSubscribedEvents(): array
  17.     {
  18.         return [
  19.             AssignRoleToUserEvent::class => 'clearUserContextHashCache',
  20.             AssignRoleToUserGroupEvent::class => 'clearUserContextHashCache',
  21.             DeleteRoleEvent::class => 'clearUserContextHashCache',
  22.             PublishRoleDraftEvent::class => 'clearUserContextHashCache',
  23.             RemoveRoleAssignmentEvent::class => 'clearUserContextHashCache',
  24.         ];
  25.     }
  26.     public function clearUserContextHashCache(Event $event)
  27.     {
  28.         $this->purgeClient->purge([
  29.             'ez-user-context-hash',
  30.         ]);
  31.     }
  32. }
  33. class_alias(RoleEventsSubscriber::class, 'EzSystems\PlatformHttpCacheBundle\EventSubscriber\CachePurge\RoleEventsSubscriber');