public function retry(Request $request, $hash)
{
$secretSanta = $this->getSecretSantaOrThrow404($request, $hash);
$token = $this->session->get(self::TOKEN_SESSION_KEY);
if (!$token instanceof AccessToken) {
return new RedirectResponse($this->router->generate('authenticate'));
}
$apiClient = $this->getApiClient($token);
(new SecretDispatcher($apiClient))->dispatchRemainingMessages($secretSanta);
$request->getSession()->set($this->getSecretSantaSessionKey($secretSanta->getHash()), $secretSanta);
return new RedirectResponse($this->router->generate('finish', ['hash' => $secretSanta->getHash()]));
}