userDisabledCheckCommand = $userDisabledCheckCommand; $this->webAuthnLoginCommand = $webAuthnLoginCommand; $this->loggedInCheckCommand = $loggedInCheckCommand; $this->completeLoginCommand = $completeLoginCommand; $this->createSessionTokenCommand = $createSessionTokenCommand; $this->clearLostPasswordTokensCommand = $clearLostPasswordTokensCommand; $this->updateLastPasswordConfirmCommand = $updateLastPasswordConfirmCommand; $this->setUserTimezoneCommand = $setUserTimezoneCommand; $this->twoFactorCommand = $twoFactorCommand; $this->finishRememberedLoginCommand = $finishRememberedLoginCommand; } public function process(LoginData $loginData): LoginResult { $chain = $this->userDisabledCheckCommand; $chain ->setNext($this->webAuthnLoginCommand) ->setNext($this->loggedInCheckCommand) ->setNext($this->completeLoginCommand) ->setNext($this->createSessionTokenCommand) ->setNext($this->clearLostPasswordTokensCommand) ->setNext($this->updateLastPasswordConfirmCommand) ->setNext($this->setUserTimezoneCommand) ->setNext($this->twoFactorCommand) ->setNext($this->finishRememberedLoginCommand); return $chain->process($loginData); } }