/** * @param Command|ChangeEmail $command */ public function handle(Command $command) { /** @var User $user */ $user = $this->userRepository->get($command->getUser()); //No-op if email is same as existing if ($user->getEmail() == $command->getEmail()) { return; } $user->changeEmail($command->getEmail()); }
/** * @param Command|RequestPasswordReset $command */ public function handle(Command $command) { /** @var User $user */ $user = $this->userRepository->get($command->getUserId()); $user->requestPasswordReset(); }
/** * @param Command|ResetPassword $command */ public function handle(Command $command) { /** @var User $user */ $user = $this->userRepository->get($command->getUserId()); $user->resetPassword($command->getResetToken(), $command->getPassword(), $this->encoder); }
/** * @param Command|RegisterUser $command */ public function handle(Command $command) { $user = call_user_func([$this->userClass, 'register'], $command->getUsername(), $command->getEmail(), $command->getPassword(), $this->encoder); $this->userRepository->add($user); }
/** * @param Command|RequestEmailValidation $command */ public function handle(Command $command) { /** @var User $user */ $user = $this->userRepository->get($command->getUserId()); $user->requestEmailConfirmation(); }
/** * @param Command|DoSomethingImportant $command */ public function handle(Command $command) { $task = new Task($command->getTask()); $task->execute(); $this->om->persist($task); }
/** * @param Command|ConfirmEmail $command */ public function handle(Command $command) { /** @var User $user */ $user = $this->userRepository->get($command->getUserId()); $user->confirmEmail($command->getConfirmationToken()); }