parent
790b221646
commit
383c0d0fdf
|
@ -8,6 +8,8 @@ use Drupal\Core\Entity\EntityStorageInterface;
|
||||||
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
|
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
|
||||||
use Drupal\Core\Queue\QueueWorkerBase;
|
use Drupal\Core\Queue\QueueWorkerBase;
|
||||||
use Drupal\opdavies_blog\Entity\Node\Post;
|
use Drupal\opdavies_blog\Entity\Node\Post;
|
||||||
|
use Drupal\opdavies_blog\Service\PostPusher\IftttPostPusher;
|
||||||
|
use Drupal\opdavies_blog\Service\PostPusher\PostPusher;
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,15 +23,22 @@ final class PostPusherQueueWorker extends QueueWorkerBase implements ContainerFa
|
||||||
|
|
||||||
private EntityStorageInterface $nodeStorage;
|
private EntityStorageInterface $nodeStorage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array|PostPusher[]
|
||||||
|
*/
|
||||||
|
private array $postPushers;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
array $configuration,
|
array $configuration,
|
||||||
string $pluginId,
|
string $pluginId,
|
||||||
array $pluginDefinition,
|
array $pluginDefinition,
|
||||||
EntityStorageInterface $nodeStorage
|
EntityStorageInterface $nodeStorage,
|
||||||
|
array $postPushers
|
||||||
) {
|
) {
|
||||||
parent::__construct($configuration, $pluginId, $pluginDefinition);
|
parent::__construct($configuration, $pluginId, $pluginDefinition);
|
||||||
|
|
||||||
$this->nodeStorage = $nodeStorage;
|
$this->nodeStorage = $nodeStorage;
|
||||||
|
$this->postPushers = $postPushers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function create(
|
public static function create(
|
||||||
|
@ -42,7 +51,10 @@ final class PostPusherQueueWorker extends QueueWorkerBase implements ContainerFa
|
||||||
$configuration,
|
$configuration,
|
||||||
$pluginId,
|
$pluginId,
|
||||||
$pluginDefinition,
|
$pluginDefinition,
|
||||||
$container->get('entity_type.manager')->getStorage('node')
|
$container->get('entity_type.manager')->getStorage('node'),
|
||||||
|
[
|
||||||
|
$container->get(IftttPostPusher::class),
|
||||||
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,6 +75,11 @@ final class PostPusherQueueWorker extends QueueWorkerBase implements ContainerFa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($this->postPushers as $pusher) {
|
||||||
|
// @phpstan-ignore-next-line
|
||||||
|
$pusher->push($post);
|
||||||
|
}
|
||||||
|
|
||||||
// @phpstan-ignore-next-line
|
// @phpstan-ignore-next-line
|
||||||
$post->set(Post::FIELD_SENT_TO_SOCIAL_MEDIA, TRUE);
|
$post->set(Post::FIELD_SENT_TO_SOCIAL_MEDIA, TRUE);
|
||||||
$post->save();
|
$post->save();
|
||||||
|
|
Loading…
Reference in a new issue