BrightcoveVideoByApiClientConstraintValidator.php in Brightcove Video Connect 8.2
File
src/Plugin/Validation/Constraint/BrightcoveVideoByApiClientConstraintValidator.php
View source
<?php
namespace Drupal\brightcove\Plugin\Validation\Constraint;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
class BrightcoveVideoByApiClientConstraintValidator extends ConstraintValidator {
public function validate($value, Constraint $constraint) {
$api_client = $value
->get('api_client')
->getValue();
if (!empty($api_client[0]['target_id'])) {
$videos = $value
->get('videos');
$item_definitions = $videos
->getItemDefinition();
$settings = $item_definitions
->getSettings();
$settings['handler_settings']['view']['arguments'] = [
$api_client[0]['target_id'],
];
$item_definitions
->setSettings($settings);
}
else {
$this->context
->addViolation($constraint->missingApiClient);
}
}
}