src/Security/Api/Authorization/Voter/CoreModule/ModuleValidationVoter.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Security\Api\Authorization\Voter\CoreModule;
  3. use App\Helper\Api\Entity\RequestDataContainer;
  4. use App\Security\Api\Authorization\Voter\AbstractValidationVoter;
  5. use App\Security\Api\Authorization\VoterAttribute\CoreModule\ModuleVoterAttribute;
  6. use App\Validator\Api\Data\CoreModule\ModuleDataValidator;
  7. /**
  8.  * Validation voter.
  9.  *
  10.  * @package API
  11.  * @internal
  12.  */
  13. class ModuleValidationVoter extends AbstractValidationVoter
  14. {
  15.     /**
  16.      * Constructor.
  17.      *
  18.      * @param ModuleDataValidator $validator
  19.      */
  20.     public function __construct(ModuleDataValidator $validator)
  21.     {
  22.         $this->validator $validator;
  23.     }
  24.     /**
  25.      * Returns list of supported attributes.
  26.      *
  27.      * @return array
  28.      */
  29.     protected function getSupportedAttributes(): array
  30.     {
  31.         return [
  32.             ModuleVoterAttribute::getAttribute(ModuleVoterAttribute::METHOD_ID_LIST),
  33.             ModuleVoterAttribute::getAttribute(ModuleVoterAttribute::METHOD_ID_UPDATE_ACTIVE_STATUS)
  34.         ];
  35.     }
  36.     /**
  37.      * Validation check.
  38.      *
  39.      * @param RequestDataContainer $subject The request data object to validate.
  40.      */
  41.     protected function list(RequestDataContainer $subject): void
  42.     {
  43.         $this->validator->validateInputList($subject->getInput());
  44.     }
  45.     /**
  46.      * Validation check.
  47.      *
  48.      * @param RequestDataContainer $subject The request data object to validate.
  49.      */
  50.     protected function updateActiveStatus(RequestDataContainer $subject): void
  51.     {
  52.         $this->validator->validateInputUpdateActiveStatus($subject->getInput());
  53.     }
  54. }