src/Security/Api/Authorization/Voter/MedicalSurveillance/ExaminationValidationVoter.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Security\Api\Authorization\Voter\MedicalSurveillance;
  3. use App\Security\Api\Authorization\Voter\AbstractCrudValidationVoter;
  4. use App\Security\Api\Authorization\VoterAttribute\MedicalSurveillance\ExaminationVoterAttribute;
  5. use App\Validator\Api\Data\MedicalSurveillance\ExaminationDataValidator;
  6. /**
  7.  * Validation voter.
  8.  *
  9.  * @package API
  10.  * @author fmt.hodzic
  11.  * @internal
  12.  */
  13. class ExaminationValidationVoter extends AbstractCrudValidationVoter
  14. {
  15.     /**
  16.      * Constructor.
  17.      *
  18.      * @param ExaminationDataValidator $validator The standard validator.
  19.      */
  20.     public function __construct(ExaminationDataValidator $validator)
  21.     {
  22.         // prevent false-positive php:S1185
  23.         $this->validator $validator;
  24.         parent::__construct($validator);
  25.     }
  26.     /**
  27.      * Returns a list of supported attributes.
  28.      *
  29.      * @return array
  30.      * @noinspection PhpClassConstantAccessedViaChildClassInspection
  31.      */
  32.     protected function getSupportedAttributes(): array
  33.     {
  34.         return [
  35.             ExaminationVoterAttribute::getAttribute(ExaminationVoterAttribute::METHOD_ID_CREATE),
  36.             ExaminationVoterAttribute::getAttribute(ExaminationVoterAttribute::METHOD_ID_DELETE),
  37.             ExaminationVoterAttribute::getAttribute(ExaminationVoterAttribute::METHOD_ID_LIST),
  38.             ExaminationVoterAttribute::getAttribute(ExaminationVoterAttribute::METHOD_ID_READ),
  39.             ExaminationVoterAttribute::getAttribute(ExaminationVoterAttribute::METHOD_ID_UPDATE),
  40.             ExaminationVoterAttribute::getAttribute(
  41.                 ExaminationVoterAttribute::METHOD_ID_UPDATE_ACTIVE_STATUS
  42.             )
  43.         ];
  44.     }
  45. }