<?php

declare(strict_types=1);

namespace App\Message\Handler\Shop;

use App\ApiResources\Organization\OrganizationCreationRequest;
use App\ApiResources\Shop\NewStructureArtistPremiumTrialRequest;
use App\Entity\Shop\ShopRequest;
use App\Enum\Organization\LegalEnum;
use App\Enum\Organization\PrincipalTypeEnum;
use App\Enum\Organization\SettingsProductEnum;
use App\Message\Message\Shop\NewStructureArtistPremiumTrial;
use App\Service\Organization\OrganizationFactory;
use App\Service\Shop\ShopService;
use Doctrine\ORM\EntityManagerInterface;
use Psr\Log\LoggerInterface;
use Symfony\Component\Messenger\Attribute\AsMessageHandler;
use Symfony\Component\Serializer\SerializerInterface;

#[AsMessageHandler]
readonly class NewStructureArtistPremiumTrialHandler
{
    public function __construct(
        private ShopService            $shopService,

    ) {
    }

    public function __invoke(NewStructureArtistPremiumTrial $message): void
    {
        $token = $message->getToken();

        $this->shopService->handleNewStructureArtistPremiumTrialRequest($token);
    }

}
