NewStructureArtistPremiumTrialHandler.php 1019 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Message\Handler\Shop;
  4. use App\Message\Message\Shop\NewStructureArtistPremiumTrial;
  5. use App\Service\Shop\ShopService;
  6. use Symfony\Component\Messenger\Attribute\AsMessageHandler;
  7. /**
  8. * Message handler for processing new structure artist premium trial requests.
  9. *
  10. * This class handles the NewStructureArtistPremiumTrial message, which is dispatched
  11. * when a user validates a trial request by clicking the activation link in the email.
  12. *
  13. * It delegates the actual processing to the ShopService.
  14. */
  15. #[AsMessageHandler]
  16. readonly class NewStructureArtistPremiumTrialHandler
  17. {
  18. public function __construct(
  19. private ShopService $shopService,
  20. ) {
  21. }
  22. /**
  23. * @param NewStructureArtistPremiumTrial $message The message to process
  24. */
  25. public function __invoke(NewStructureArtistPremiumTrial $message): void
  26. {
  27. $token = $message->getToken();
  28. $this->shopService->handleNewStructureArtistPremiumTrialRequest($token);
  29. }
  30. }