/** * @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(); }