vendor/rawafed/cloud-services-bundle/Service/SubscriptionInstaller.php line 39

Open in your IDE?
  1. <?php
  2. namespace Rawafed\CloudServicesBundle\Service;
  3. use Rawafed\CloudServicesBundle\Entity\Subscription;
  4. use Rawafed\CloudServicesBundle\Event\SubscriptionCreatedEvent;
  5. use Rawafed\CloudServicesBundle\Event\SubscriptionUpdatedEvent;
  6. use Rawafed\TaskQueueBundle\Service\TaskQueue;
  7. class SubscriptionInstaller
  8. {
  9.     private $taskQueue;
  10.     public function __construct(TaskQueue $taskQueue)
  11.     {
  12.         $this->taskQueue $taskQueue;
  13.     }
  14.     public function install(Subscription $subscription)
  15.     {
  16.         $this->taskQueue->addTask('install_subscription', [
  17.             'id' => $subscription->getId(),
  18.         ]);
  19.     }
  20.     public function update(Subscription $subscription)
  21.     {
  22.         $this->taskQueue->addTask('update_subscription', [
  23.             'id' => $subscription->getId(),
  24.         ]);
  25.     }
  26.     public function onSubscriptionCreated(SubscriptionCreatedEvent $event)
  27.     {
  28.         $subscription $event->getSubscription();
  29.         $this->install($subscription);
  30.     }
  31.     public function onSubscriptionUpdated(SubscriptionUpdatedEvent $event)
  32.     {
  33.         $subscription $event->getSubscription();
  34.         $this->update($subscription);
  35.     }
  36. }