subscriberFactory = $subscriberFactory; } /** * Change subscription status. Subscribe OR unsubscribe if required * * @param int $customerId * @param bool $subscriptionStatus * @return void */ public function execute(int $customerId, bool $subscriptionStatus): void { $subscriber = $this->subscriberFactory->create()->loadByCustomerId($customerId); if ($subscriptionStatus === true && !$subscriber->isSubscribed()) { $this->subscriberFactory->create()->subscribeCustomerById($customerId); } elseif ($subscriptionStatus === false && $subscriber->isSubscribed()) { $this->subscriberFactory->create()->unsubscribeCustomerById($customerId); } } }