src/Http/Controller/Api/V2/Apple/ToggleMembershipByReceiptAction.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Http\Controller\Api\V2\Apple;
  3. use App\Application\CommandBus\Command\Apple\TogglePremiumBySavedReceiptCommand;
  4. use App\Database\Domain\Entity\User\User;
  5. use App\Http\Normalizer\ApiResponseNormalizer;
  6. use App\Infrastructure\Messenger\CommandBus\CommandBusInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpClient\HttpClient;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. // maksym added to test
  11. use Symfony\Component\Routing\Annotation\Route;
  12. // maksym added to test
  13. /**
  14.  * @Route("/api/v2/apple/membership/by-receipt", name="api_v2_apple_toggle_membership_by_receipt", methods={"PUT"})
  15.  */
  16. class ToggleMembershipByReceiptAction extends AbstractController
  17. {
  18.     public function __invoke(
  19.         CommandBusInterface $commandBus,
  20.         ApiResponseNormalizer $apiResponseNormalizer
  21.     ): JsonResponse {
  22.         // maksym added to test
  23.         $client HttpClient::create();
  24.         $response $client->request(
  25.             'GET',
  26.             'https://dotoast.com/metric-count?metric=lifetime-12-pricing-slide1&redirect_url=https%3A%2F%2Fdotoast.com'
  27.         );
  28.         $statusCode $response->getStatusCode();
  29.         // maksym added to test
  30.         $this->denyAccessUnlessGranted(User::ROLE_USER);
  31.         $commandBus->execute(new TogglePremiumBySavedReceiptCommand($this->getUser()->getId()));
  32.         return $this->json($apiResponseNormalizer->normalize($this->getUser(), 'api_v2_user_view'));
  33.     }
  34. }