/**
  * @param Repository $repository
  */
 public function toggleRepositoryWebhook(Repository $repository)
 {
     /** @var User $user */
     $user = $this->tokenStorage->getToken()->getUser();
     if ($repository->getEnabled()) {
         $this->githubManager->removeWebhook($user->getUsername(), $repository->getName(), $repository->getWebhookId());
         $webhookId = null;
     } else {
         $webhookId = $this->githubManager->createWebhook($user->getUsername(), $repository->getName());
     }
     // Update state of repository webhook
     $repository->setWebhookId($webhookId);
     $repositoryManager = $this->doctrine->getManagerForClass(ClassUtils::getClass($repository));
     $repositoryManager->flush();
 }
 /**
  * @param User $user
  */
 public function synchronizeUserRepositories(User $user)
 {
     $repositories = $this->githubManager->getUserRepositories($user->getUsername());
     $this->updateUserRepositories($user, $repositories);
 }