src/Security/Voter/Conversation/ShowVoter.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\Security\Voter\Conversation;
  3. use App\Entity\Account\User;
  4. use App\Entity\ChannelUserData\ChannelUserData;
  5. use App\Entity\Chat\Conversation;
  6. class ShowVoter extends AbstractConversationVoter
  7. {
  8.     public function supportedAttribute(): string
  9.     {
  10.         return 'NIM_VIEW';
  11.     }
  12.     /**
  13.      * @param User $user
  14.      * @param Conversation $conversation
  15.      * @param ChannelUserData $channelUserData
  16.      * @return int
  17.      */
  18.     public function grant(User $user$conversationChannelUserData $channelUserData): int
  19.     {
  20.         if ($this->userService->isAdminForConversation($user$conversation)) {
  21.             return self::ACCESS_GRANTED;
  22.         }
  23.         $conversationUser $conversation->getConversationUserByUser($user);
  24.         if (!$conversationUser) {
  25.             return self::ACCESS_DENIED;
  26.         }
  27.         return self::ACCESS_GRANTED;
  28.     }
  29. }