@@ -140,25 +140,16 @@ final class RegisterUserHandler implements CommandHandler
140140 $this->userRepository = $userRepository;
141141 }
142142
143- public function __invoke(Command $command)
144- {
145- $this->guard($command);
146-
143+ public function __invoke(RegisterUser $command)
144+ {
147145 $user = new User(
148146 $command->getUsername(),
149147 $command->getPassword(),
150148 $command->getEmail(),
151149 );
152150
153151 $this->userRepository->save($user);
154- }
155-
156- private function guard(Command $command)
157- {
158- if (false === ($command instanceof RegisterUser)) {
159- throw new \InvalidArgumentException("Expected command of type: ".RegisterUser::class);
160- }
161- }
152+ }
162153}
163154```
164155
@@ -328,21 +319,13 @@ final class GetUserHandler implements QueryHandler
328319 $this->userRepository = $userRepository;
329320 }
330321
331- public function __invoke(Query $query) : QueryResponse
332- {
333- $this->guard($query);
322+ public function __invoke(GetUser $query) : QueryResponse
323+ {
334324 $userId = $query->getUserId();
335325 $user = $this->userRepository->find($userId);
336326
337327 return new UserQueryResponse($user);
338328 }
339-
340- private function guard(Query $query)
341- {
342- if (false === ($query instanceof GetUser)) {
343- throw new \InvalidArgumentException("Expected query of type: ".GetUser::class);
344- }
345- }
346329}
347330```
348331
@@ -543,19 +526,12 @@ final class SendWelcomeEmailHandler implements EventHandler
543526 $this->emailProvider = $emailProvider;
544527 }
545528
546- public function __invoke(Event $event)
529+ public function __invoke(UserRegistered $event)
547530 {
548531 $this->guard($event);
549532 $this->emailProvider->send('welcome_email', $event->getEmail());
550533 }
551-
552- private function guard(Event $event)
553- {
554- if (false === ($event instanceof UserRegistered)) {
555- throw new \InvalidArgumentException("Expected event of type: ".UserRegistered::class);
556- }
557- }
558-
534+
559535 public static function subscribedTo() : string
560536 {
561537 return UserRegistered::class;
@@ -583,19 +559,11 @@ final class SetupUserAccountHandler implements EventHandler
583559 $this->userCreditsRepository = $userCreditsRepository;
584560 }
585561
586- public function __invoke(Event $event)
587- {
588- $this->guard($event);
562+ public function __invoke(UserRegistered $event)
563+ {
589564 $this->userFriendsRepository->add(new UserFriendsCollection($event->getUserId(), []));
590565 $this->userCreditsRepository->add(new UserCredits($event->getUserId(), new Credits(0));
591- }
592-
593- private function guard(Event $event)
594- {
595- if (false === ($event instanceof UserRegistered)) {
596- throw new \InvalidArgumentException("Expected event of type: ".UserRegistered::class);
597- }
598- }
566+ }
599567
600568 public static function subscribedTo() : string
601569 {
0 commit comments