<?php
namespace App\Security\Api\Authorization\Voter\JobLab;
use App\Security\Api\Authorization\Voter\AbstractCrudValidationVoter;
use App\Security\Api\Authorization\VoterAttribute\JobLab\WorkAttemptUnsuccessfulReasonVoterAttribute;
use App\Validator\Api\Data\JobLab\WorkAttemptUnsuccessfulReasonDataValidator;
/**
* Validation voter.
*
* @package API
* @internal
*/
class WorkAttemptUnsuccessfulReasonValidationVoter extends AbstractCrudValidationVoter
{
/**
* Constructor.
*
* @param WorkAttemptUnsuccessfulReasonDataValidator $validator The standard validator.
*/
public function __construct(WorkAttemptUnsuccessfulReasonDataValidator $validator)
{
// prevent false-positive php:S1185
$this->validator = $validator;
parent::__construct($validator);
}
/**
* Returns list of supported attributes.
*
* @return array
* @noinspection PhpClassConstantAccessedViaChildClassInspection
*/
protected function getSupportedAttributes(): array
{
return [
WorkAttemptUnsuccessfulReasonVoterAttribute::getAttribute(
WorkAttemptUnsuccessfulReasonVoterAttribute::METHOD_ID_CREATE
),
WorkAttemptUnsuccessfulReasonVoterAttribute::getAttribute(
WorkAttemptUnsuccessfulReasonVoterAttribute::METHOD_ID_DELETE
),
WorkAttemptUnsuccessfulReasonVoterAttribute::getAttribute(
WorkAttemptUnsuccessfulReasonVoterAttribute::METHOD_ID_LIST
),
WorkAttemptUnsuccessfulReasonVoterAttribute::getAttribute(
WorkAttemptUnsuccessfulReasonVoterAttribute::METHOD_ID_READ
),
WorkAttemptUnsuccessfulReasonVoterAttribute::getAttribute(
WorkAttemptUnsuccessfulReasonVoterAttribute::METHOD_ID_UPDATE
),
WorkAttemptUnsuccessfulReasonVoterAttribute::getAttribute(
WorkAttemptUnsuccessfulReasonVoterAttribute::METHOD_ID_UPDATE_ACTIVE_STATUS
)
];
}
}