ReSignUp.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Analytics\Model\Connector\ResponseHandler;
  7. use Magento\Analytics\Model\AnalyticsToken;
  8. use Magento\Analytics\Model\Config\Backend\Enabled\SubscriptionHandler;
  9. use Magento\Analytics\Model\Connector\Http\ResponseHandlerInterface;
  10. use Magento\Analytics\Model\SubscriptionStatusProvider;
  11. /**
  12. * Removes stored token and triggers subscription process.
  13. */
  14. class ReSignUp implements ResponseHandlerInterface
  15. {
  16. /**
  17. * @var AnalyticsToken
  18. */
  19. private $analyticsToken;
  20. /**
  21. * @var SubscriptionHandler
  22. */
  23. private $subscriptionHandler;
  24. /**
  25. * @var SubscriptionStatusProvider
  26. */
  27. private $subscriptionStatusProvider;
  28. /**
  29. * @param AnalyticsToken $analyticsToken
  30. * @param SubscriptionHandler $subscriptionHandler
  31. * @param SubscriptionStatusProvider $subscriptionStatusProvider
  32. */
  33. public function __construct(
  34. AnalyticsToken $analyticsToken,
  35. SubscriptionHandler $subscriptionHandler,
  36. SubscriptionStatusProvider $subscriptionStatusProvider
  37. ) {
  38. $this->analyticsToken = $analyticsToken;
  39. $this->subscriptionHandler = $subscriptionHandler;
  40. $this->subscriptionStatusProvider = $subscriptionStatusProvider;
  41. }
  42. /**
  43. * @inheritdoc
  44. */
  45. public function handleResponse(array $responseBody)
  46. {
  47. if ($this->subscriptionStatusProvider->getStatus() === SubscriptionStatusProvider::ENABLED) {
  48. $this->analyticsToken->storeToken(null);
  49. $this->subscriptionHandler->processEnabled();
  50. }
  51. return false;
  52. }
  53. }