<?php
namespace App\Subscriber\User\Registration;
use App\Event\User\RegistrationEvent;
use App\Service\MemberService;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class WebmasterSubscriber implements EventSubscriberInterface
{
protected MemberService $memberService;
public function __construct(MemberService $memberService)
{
$this->memberService = $memberService;
}
public static function getSubscribedEvents(): array
{
return [
RegistrationEvent::class => [
['onRegistrationCreateMember', 0],
],
];
}
public function onRegistrationCreateMember(RegistrationEvent $event): bool
{
if ('webmaster' !== $event->getChannel()) {
return false;
}
$account = $event->getAccount();
$member = $this->memberService->createMemberByAccount($account);
$this->memberService->storeMember($member);
return true;
}
}