{"action":"created","comment":{"url":"https://api.github.com/repos/Wikia/app/pulls/comments/81373708","pull_request_review_id":2356067,"id":81373708,"diff_hunk":"@@ -0,0 +1,88 @@\n+<?php\n+\n+use Swagger\\Client\\ApiException;\n+use Swagger\\Client\\Discussion\\Api\\SitesApi;\n+use Swagger\\Client\\Discussion\\Models\\SiteInput;\n+use Wikia\\DependencyInjection\\Injector;\n+use Wikia\\Service\\Swagger\\ApiProvider;\n+\n+class DiscussionsActivator {\n+\n+    const SERVICE_NAME = 'discussion';\n+    const TIMEOUT = 5;\n+    const SITE_NAME_MAX_LENGTH = 256;\n+\n+    private $cityId;\n+    private $cityName;\n+    private $cityLang;\n+\n+    private $sitesApi;\n+    private $logger;\n+\n+    public function __construct( $cityId = null, $cityName = null, $cityLang = null ) {\n+        $this->cityId = $cityId ?? F::app()->wg->CityId;\n+        $this->cityName = $cityName ?? F::app()->wg->Sitename;\n+        $this->cityLang = $cityLang ?? F::app()->wg->ContLang->getCode();\n+\n+        $this->sitesApi = $this->getSitesApi();\n+        $this->logger = Wikia\\Logger\\WikiaLogger::instance();\n+    }\n+\n+    public function activateDiscussions() {\n+        if ( $this->isDiscussionsActive() ) {\n+            return;\n+        }\n+\n+        $siteInput = $this->getSiteInput();\n+        try {\n+            $this->sitesApi->createSite( $siteInput, F::app()->wg->TheSchwartzSecretToken );\n+        } catch ( ApiException $e ) {\n+            $this->logAndThrowError( $e );\n+        }\n+    }\n+\n+    private function getSiteInput() : SiteInput {\n+        return new SiteInput(\n+            [\n+                'id' => $this->cityId,\n+                'name' => substr( $this->cityName, 0, self::SITE_NAME_MAX_LENGTH ),\n+                'language_code' => $this->cityLang\n+            ]\n+        );\n+    }\n+\n+    public function isDiscussionsActive() {\n+        try {\n+            $this->sitesApi->getSite( $this->cityId );\n+            return true;\n+        } catch ( ApiException $e ) {\n+            $this->logger->info( 'DISCUSSIONS Getting site caused an error',\n+                [\n+                    'siteId' => $this->cityId,\n+                    'error' => $e->getMessage(),\n+                ] );\n+        }\n+        return false;","path":"extensions/wikia/Discussions/utils/DiscussionsActivator.class.php","position":65,"original_position":65,"commit_id":"eb2416d75f5736f7354fd27ad976dfc1ac70b160","original_commit_id":"eb2416d75f5736f7354fd27ad976dfc1ac70b160","user":{"login":"slayful","id":1950206,"avatar_url":"https://avatars.githubusercontent.com/u/1950206?v=3","gravatar_id":"","url":"https://api.github.com/users/slayful","html_url":"https://github.com/slayful","followers_url":"https://api.github.com/users/slayful/followers","following_url":"https://api.github.com/users/slayful/following{/other_user}","gists_url":"https://api.github.com/users/slayful/gists{/gist_id}","starred_url":"https://api.github.com/users/slayful/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slayful/subscriptions","organizations_url":"https://api.github.com/users/slayful/orgs","repos_url":"https://api.github.com/users/slayful/repos","events_url":"https://api.github.com/users/slayful/events{/privacy}","received_events_url":"https://api.github.com/users/slayful/received_events","type":"User","site_admin":false},"body":"nitpick: return in the catch clause since you're returning unconditionally in the try clause","created_at":"2016-09-30T16:36:46Z","updated_at":"2016-09-30T16:39:27Z","html_url":"https://github.com/Wikia/app/pull/11510#discussion_r81373708","pull_request_url":"https://api.github.com/repos/Wikia/app/pulls/11510","_links":{"self":{"href":"https://api.github.com/repos/Wikia/app/pulls/comments/81373708"},"html":{"href":"https://github.com/Wikia/app/pull/11510#discussion_r81373708"},"pull_request":{"href":"https://api.github.com/repos/Wikia/app/pulls/11510"}}},"pull_request":{"url":"https://api.github.com/repos/Wikia/app/pulls/11510","id":87357186,"html_url":"https://github.com/Wikia/app/pull/11510","diff_url":"https://github.com/Wikia/app/pull/11510.diff","patch_url":"https://github.com/Wikia/app/pull/11510.patch","issue_url":"https://api.github.com/repos/Wikia/app/issues/11510","number":11510,"state":"open","locked":false,"title":"SOC-2202 Activate and enable discussion when a new wiki is created","user":{"login":"jsutterfield","id":1657792,"avatar_url":"https://avatars.githubusercontent.com/u/1657792?v=3","gravatar_id":"","url":"https://api.github.com/users/jsutterfield","html_url":"https://github.com/jsutterfield","followers_url":"https://api.github.com/users/jsutterfield/followers","following_url":"https://api.github.com/users/jsutterfield/following{/other_user}","gists_url":"https://api.github.com/users/jsutterfield/gists{/gist_id}","starred_url":"https://api.github.com/users/jsutterfield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsutterfield/subscriptions","organizations_url":"https://api.github.com/users/jsutterfield/orgs","repos_url":"https://api.github.com/users/jsutterfield/repos","events_url":"https://api.github.com/users/jsutterfield/events{/privacy}","received_events_url":"https://api.github.com/users/jsutterfield/received_events","type":"User","site_admin":false},"body":"Ticket: https://wikia-inc.atlassian.net/browse/SOC-2202\r\n\r\nThis PR adds a task to the CNW process which activates a new Discussions instance for the wiki, and sets the appropriate wg variables which makes that Discussions instance enabled, puts a link for Discussions in the local nav, disables Threaded Forums, and puts Wiki Forums into archive mode.\r\n\r\nAdditionally, this PR consolidates 2 extensions, SpecialDiscussions and EnableDiscussions, into a new extension called just \"Discussions\". Finally, I organized the code a bit by putting related classes into separate directories, and splitting up some classes into smaller ones.","created_at":"2016-09-29T17:26:08Z","updated_at":"2016-09-30T16:39:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c1bddbd445d9f06b3b96131f8f9c87398c372f85","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Wikia/app/pulls/11510/commits","review_comments_url":"https://api.github.com/repos/Wikia/app/pulls/11510/comments","review_comment_url":"https://api.github.com/repos/Wikia/app/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Wikia/app/issues/11510/comments","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/eb2416d75f5736f7354fd27ad976dfc1ac70b160","head":{"label":"Wikia:SOC-2202","ref":"SOC-2202","sha":"eb2416d75f5736f7354fd27ad976dfc1ac70b160","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":5532313,"name":"app","full_name":"Wikia/app","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/app","description":"Wikia Application Code","fork":false,"url":"https://api.github.com/repos/Wikia/app","forks_url":"https://api.github.com/repos/Wikia/app/forks","keys_url":"https://api.github.com/repos/Wikia/app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/app/teams","hooks_url":"https://api.github.com/repos/Wikia/app/hooks","issue_events_url":"https://api.github.com/repos/Wikia/app/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/app/events","assignees_url":"https://api.github.com/repos/Wikia/app/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/app/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/app/tags","blobs_url":"https://api.github.com/repos/Wikia/app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/app/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/app/languages","stargazers_url":"https://api.github.com/repos/Wikia/app/stargazers","contributors_url":"https://api.github.com/repos/Wikia/app/contributors","subscribers_url":"https://api.github.com/repos/Wikia/app/subscribers","subscription_url":"https://api.github.com/repos/Wikia/app/subscription","commits_url":"https://api.github.com/repos/Wikia/app/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/app/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/app/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/app/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wikia/app/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/app/merges","archive_url":"https://api.github.com/repos/Wikia/app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/app/downloads","issues_url":"https://api.github.com/repos/Wikia/app/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/app/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/app/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/app/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/app/releases{/id}","deployments_url":"https://api.github.com/repos/Wikia/app/deployments","created_at":"2012-08-23T20:55:58Z","updated_at":"2016-09-28T19:02:17Z","pushed_at":"2016-09-30T16:35:32Z","git_url":"git://github.com/Wikia/app.git","ssh_url":"git@github.com:Wikia/app.git","clone_url":"https://github.com/Wikia/app.git","svn_url":"https://github.com/Wikia/app","homepage":"http://dev.wikia.com","size":1432627,"stargazers_count":103,"watchers_count":103,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":83,"mirror_url":null,"open_issues_count":116,"forks":83,"open_issues":116,"watchers":103,"default_branch":"dev"}},"base":{"label":"Wikia:dev","ref":"dev","sha":"34354216f7e5b31587b9857b364bb49259eb6398","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":5532313,"name":"app","full_name":"Wikia/app","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/app","description":"Wikia Application Code","fork":false,"url":"https://api.github.com/repos/Wikia/app","forks_url":"https://api.github.com/repos/Wikia/app/forks","keys_url":"https://api.github.com/repos/Wikia/app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/app/teams","hooks_url":"https://api.github.com/repos/Wikia/app/hooks","issue_events_url":"https://api.github.com/repos/Wikia/app/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/app/events","assignees_url":"https://api.github.com/repos/Wikia/app/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/app/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/app/tags","blobs_url":"https://api.github.com/repos/Wikia/app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/app/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/app/languages","stargazers_url":"https://api.github.com/repos/Wikia/app/stargazers","contributors_url":"https://api.github.com/repos/Wikia/app/contributors","subscribers_url":"https://api.github.com/repos/Wikia/app/subscribers","subscription_url":"https://api.github.com/repos/Wikia/app/subscription","commits_url":"https://api.github.com/repos/Wikia/app/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/app/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/app/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/app/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wikia/app/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/app/merges","archive_url":"https://api.github.com/repos/Wikia/app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/app/downloads","issues_url":"https://api.github.com/repos/Wikia/app/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/app/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/app/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/app/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/app/releases{/id}","deployments_url":"https://api.github.com/repos/Wikia/app/deployments","created_at":"2012-08-23T20:55:58Z","updated_at":"2016-09-28T19:02:17Z","pushed_at":"2016-09-30T16:35:32Z","git_url":"git://github.com/Wikia/app.git","ssh_url":"git@github.com:Wikia/app.git","clone_url":"https://github.com/Wikia/app.git","svn_url":"https://github.com/Wikia/app","homepage":"http://dev.wikia.com","size":1432627,"stargazers_count":103,"watchers_count":103,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":83,"mirror_url":null,"open_issues_count":116,"forks":83,"open_issues":116,"watchers":103,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/Wikia/app/pulls/11510"},"html":{"href":"https://github.com/Wikia/app/pull/11510"},"issue":{"href":"https://api.github.com/repos/Wikia/app/issues/11510"},"comments":{"href":"https://api.github.com/repos/Wikia/app/issues/11510/comments"},"review_comments":{"href":"https://api.github.com/repos/Wikia/app/pulls/11510/comments"},"review_comment":{"href":"https://api.github.com/repos/Wikia/app/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Wikia/app/pulls/11510/commits"},"statuses":{"href":"https://api.github.com/repos/Wikia/app/statuses/eb2416d75f5736f7354fd27ad976dfc1ac70b160"}}}}
{"actor":{"display_login":"slayful"}}