{"action":"created","comment":{"url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/comments/81676435","pull_request_review_id":2636475,"id":81676435,"diff_hunk":"@@ -0,0 +1,242 @@\n+<?php\n+/*\n+ * Routes for accessing the To do info.\n+ *\n+ * All of these paths are behind the firewall for ROLE_USER.\n+ *\n+ * All of these paths consume and send application/json\n+ */\n+\n+namespace AppBundle\\Controller;\n+\n+use AppBundle\\ControllerTemplates\\JSONController;\n+use AppBundle\\ControllerTemplates\\JSONControllerException;\n+use AppBundle\\Document\\Todo;\n+use Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Method;\n+use Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Route;\n+use Symfony\\Component\\HttpFoundation\\Request;\n+use Symfony\\Component\\HttpFoundation\\Response;\n+use Symfony\\Component\\HttpFoundation\\JsonResponse;\n+\n+class TodoController extends JSONController\n+{\n+    /**\n+     * @Route(\"/todo\", name=\"get_todo\")\n+     * @Method({\"GET\"})\n+     *\n+     * Gets the ids of all items.\n+     *\n+     * @return JsonResponse\n+     */\n+    public function getTodoAction()\n+    {\n+        //Get all to do for this user\n+        $todos = $this->dm()->createQueryBuilder('AppBundle:Todo')\n+            ->field('userId')->equals($this->getUser()->getIdString())\n+            ->getQuery()->execute();\n+\n+        //get the _id, title, and completed\n+\n+        $output = array();\n+        foreach ($todos as $todo) {\n+            $temp = array();\n+            $temp['_id'] = '' . $todo->getId();\n+            $temp['completed'] = $todo->getCompleted();\n+            $temp['title'] = $todo->getTitle();\n+            array_push($output, $temp);\n+        }\n+\n+        return new JsonResponse($output);\n+    }\n+\n+    /**\n+     * @Route(\"/todo\", name=\"delete_todo\")\n+     * @Method({\"DELETE\"})\n+     *\n+     * Deletes all of the existing To do entries for this user.\n+     *\n+     * @return JsonResponse\n+     */\n+    public function deleteTodoAction()\n+    {\n+        $itemsDeleted = 0;\n+        try {\n+            $collection = $this->dm()->getDocumentCollection('AppBundle:Todo');\n+            //The result from the mongodb operation\n+            $mongoResult = $collection->remove(array('userId' => $this->getUser()->getIdString()));\n+            if (is_array($mongoResult) && isset($mongoResult['n']))\n+                $itemsDeleted = intval($mongoResult['n']);\n+            $this->dm()->flush();\n+        } catch (Exception $e) {\n+            return new JsonResponse('' . $e, 500);\n+        }\n+\n+        return new JsonResponse('Successfully removed all (' . $itemsDeleted . ') todo items for this user.');\n+    }\n+\n+    /**\n+     * @Route(\"/todo\", name=\"post_todo\")\n+     * @Method({\"POST\"})\n+     *\n+     * Creates a new to do, and responds with the ID value (string)\n+     *\n+     * @param Request $request\n+     * @return JsonResponse\n+     *\n+     * request\n+     *  body:\n+     *      type: object\n+     *      properties:\n+     *          title:\n+     *              type: string\n+     *              required: true\n+     *              description: The new to do item. Must not be empty.\n+     * responses:\n+     *  200:\n+     *      OK\n+     *  400:\n+     *      Bad Request\n+     *\n+     *\n+     */\n+    public function postTodoAction(Request $request)\n+    {\n+        $body = null;\n+        try {\n+            $body = $this->bodyAsJSON($request);\n+            //If title is unset or null, or isnt a string\n+            if (!isset($body['title']) || !is_string($body['title']))\n+                throw new JSONControllerException(\"Required parameter 'title' was unset or not a string value.\");\n+        } catch (JSONControllerException $e) {\n+            return new JsonResponse('' . $e, 400);\n+        }\n+        //$body isnt null and title is set\n+\n+        $todo = new Todo();\n+        $todo->setCompleted(false);\n+        $todo->setTitle($body['title']);\n+        $todo->setUserId($this->getUser()->getIdString());\n+\n+        $this->dm()->persist($todo);\n+        $this->dm()->flush();\n+\n+        return new JsonResponse('' . $todo->getId());\n+    }\n+\n+    /**\n+     * @Route(\"/todo/{id}\", name=\"get_todo_id\")\n+     * @Method({\"GET\"})\n+     *\n+     * Gets a specific item.\n+     *\n+     * @param string $id\n+     * @return JsonResponse\n+     */\n+    public function getTodoIdAction($id)\n+    {\n+        $item = $this->get('doctrine_mongodb')\n+            ->getRepository('AppBundle:Todo')\n+            ->find($id);\n+\n+        if (!$item) {\n+            return new JsonResponse('Not Found', 404);\n+        }\n+\n+        //if we are forbidden (we are authorized)\n+        if ($item->getUserId() != $this->getUser()->getIdString()) {\n+            return new JsonResponse('Forbidden', 403);\n+        }\n+\n+        return new JsonResponse($item->serialize());\n+    }\n+\n+    /**\n+     * @Route(\"/todo/{id}\", name=\"delete_todo_id\")\n+     * @Method({\"DELETE\"})\n+     *\n+     * @param string $id\n+     * @param Request $request\n+     * @return JsonResponse\n+     */\n+    public function deleteTodoIdAction($id, Request $request)\n+    {\n+        $item = $this->get('doctrine_mongodb')\n+            ->getRepository('AppBundle:Todo')\n+            ->find($id);\n+\n+        if (!$item) {\n+            return new JsonResponse('Not Found', 404);\n+        }\n+\n+        //if we are forbidden (we are authorized)\n+        if ($item->getUserId() != $this->getUser()->getIdString()) {\n+            return new JsonResponse('Forbidden', 403);\n+        }\n+\n+        $this->dm()->remove($item);\n+        $this->dm()->flush();\n+\n+        return new JsonResponse('Successfully deleted ' . $id);\n+    }\n+\n+    /**\n+     * @Route(\"/todo/{id}\", name=\"put_todo_id\")\n+     * @Method({\"PUT\"})\n+     *\n+     * @param string $id\n+     * @param Request $request\n+     * @return JsonResponse\n+     */\n+    public function putTodoIdAction($id, Request $request)\n+    {\n+        $item = $this->get('doctrine_mongodb')\n+            ->getRepository('AppBundle:Todo')\n+            ->find($id);\n+\n+        if (!$item) {\n+            return new JsonResponse('Not Found', 404);\n+        }\n+\n+        //if we are forbidden (we are authorized)\n+        if ($item->getUserId() != $this->getUser()->getIdString()) {\n+            return new JsonResponse('Forbidden', 403);\n+        }\n+\n+        $body = array();\n+        try {\n+            $body = $this->bodyAsJSON($request);\n+        } catch (JSONControllerException $e) {\n+            return new JsonResponse('' . $e, 400);\n+        }\n+\n+        $title = null;\n+        $completed = null;\n+\n+        foreach ($body as $key => $value) {\n+            if ($key == 'title') {\n+                if (is_string($value)) {\n+                    $title = $value;\n+                    $item->setTitle($title);\n+                } else\n+                    return new JsonResponse('Bad Request: The body parameter \"title\" was not type \"string\".', 400);\n+\n+            } else if ($key == 'completed') {\n+                if (is_bool($value) || is_int($value)) {\n+                    $completed = ($value === true || $value === 1);\n+                    $item->setCompleted($completed);\n+                } else\n+                    return new JsonResponse('Bad Request: The body parameter \"completed\" was not type \"bool\".', 400);\n+            }\n+        }\n+\n+        $this->dm()->flush();\n+\n+        if ($title == null)","path":"src/AppBundle/Controller/TodoController.php","position":234,"original_position":234,"commit_id":"a613d9d492a8f70d6bd3e184a1fb3018a4191f1d","original_commit_id":"a613d9d492a8f70d6bd3e184a1fb3018a4191f1d","user":{"login":"patrickeaton","id":7700389,"avatar_url":"https://avatars.githubusercontent.com/u/7700389?v=3","gravatar_id":"","url":"https://api.github.com/users/patrickeaton","html_url":"https://github.com/patrickeaton","followers_url":"https://api.github.com/users/patrickeaton/followers","following_url":"https://api.github.com/users/patrickeaton/following{/other_user}","gists_url":"https://api.github.com/users/patrickeaton/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickeaton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickeaton/subscriptions","organizations_url":"https://api.github.com/users/patrickeaton/orgs","repos_url":"https://api.github.com/users/patrickeaton/repos","events_url":"https://api.github.com/users/patrickeaton/events{/privacy}","received_events_url":"https://api.github.com/users/patrickeaton/received_events","type":"User","site_admin":false},"body":"This update string is unnecessary. Either return a success true with no message or the entire object.","created_at":"2016-10-04T02:07:47Z","updated_at":"2016-10-04T02:07:47Z","html_url":"https://github.com/redeyeapps/php-challenge-2.8/pull/8#discussion_r81676435","pull_request_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8","_links":{"self":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/comments/81676435"},"html":{"href":"https://github.com/redeyeapps/php-challenge-2.8/pull/8#discussion_r81676435"},"pull_request":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8"}}},"pull_request":{"url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8","id":87675984,"html_url":"https://github.com/redeyeapps/php-challenge-2.8/pull/8","diff_url":"https://github.com/redeyeapps/php-challenge-2.8/pull/8.diff","patch_url":"https://github.com/redeyeapps/php-challenge-2.8/pull/8.patch","issue_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/issues/8","number":8,"state":"open","locked":false,"title":"Completed","user":{"login":"joeycumines","id":7874540,"avatar_url":"https://avatars.githubusercontent.com/u/7874540?v=3","gravatar_id":"","url":"https://api.github.com/users/joeycumines","html_url":"https://github.com/joeycumines","followers_url":"https://api.github.com/users/joeycumines/followers","following_url":"https://api.github.com/users/joeycumines/following{/other_user}","gists_url":"https://api.github.com/users/joeycumines/gists{/gist_id}","starred_url":"https://api.github.com/users/joeycumines/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeycumines/subscriptions","organizations_url":"https://api.github.com/users/joeycumines/orgs","repos_url":"https://api.github.com/users/joeycumines/repos","events_url":"https://api.github.com/users/joeycumines/events{/privacy}","received_events_url":"https://api.github.com/users/joeycumines/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-10-03T08:00:58Z","updated_at":"2016-10-04T02:10:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f4f83171233cb4e62825ae05cb6e81ae02e15cb0","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8/commits","review_comments_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8/comments","review_comment_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/comments{/number}","comments_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/issues/8/comments","statuses_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/statuses/a613d9d492a8f70d6bd3e184a1fb3018a4191f1d","head":{"label":"joeycumines:joey","ref":"joey","sha":"a613d9d492a8f70d6bd3e184a1fb3018a4191f1d","user":{"login":"joeycumines","id":7874540,"avatar_url":"https://avatars.githubusercontent.com/u/7874540?v=3","gravatar_id":"","url":"https://api.github.com/users/joeycumines","html_url":"https://github.com/joeycumines","followers_url":"https://api.github.com/users/joeycumines/followers","following_url":"https://api.github.com/users/joeycumines/following{/other_user}","gists_url":"https://api.github.com/users/joeycumines/gists{/gist_id}","starred_url":"https://api.github.com/users/joeycumines/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeycumines/subscriptions","organizations_url":"https://api.github.com/users/joeycumines/orgs","repos_url":"https://api.github.com/users/joeycumines/repos","events_url":"https://api.github.com/users/joeycumines/events{/privacy}","received_events_url":"https://api.github.com/users/joeycumines/received_events","type":"User","site_admin":false},"repo":{"id":69655418,"name":"php-challenge-2.8","full_name":"joeycumines/php-challenge-2.8","owner":{"login":"joeycumines","id":7874540,"avatar_url":"https://avatars.githubusercontent.com/u/7874540?v=3","gravatar_id":"","url":"https://api.github.com/users/joeycumines","html_url":"https://github.com/joeycumines","followers_url":"https://api.github.com/users/joeycumines/followers","following_url":"https://api.github.com/users/joeycumines/following{/other_user}","gists_url":"https://api.github.com/users/joeycumines/gists{/gist_id}","starred_url":"https://api.github.com/users/joeycumines/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeycumines/subscriptions","organizations_url":"https://api.github.com/users/joeycumines/orgs","repos_url":"https://api.github.com/users/joeycumines/repos","events_url":"https://api.github.com/users/joeycumines/events{/privacy}","received_events_url":"https://api.github.com/users/joeycumines/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/joeycumines/php-challenge-2.8","description":"RedEye PHP Technical Challenge","fork":true,"url":"https://api.github.com/repos/joeycumines/php-challenge-2.8","forks_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/forks","keys_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/keys{/key_id}","collaborators_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/teams","hooks_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/hooks","issue_events_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/issues/events{/number}","events_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/events","assignees_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/assignees{/user}","branches_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/branches{/branch}","tags_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/tags","blobs_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/git/refs{/sha}","trees_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/git/trees{/sha}","statuses_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/statuses/{sha}","languages_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/languages","stargazers_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/stargazers","contributors_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/contributors","subscribers_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/subscribers","subscription_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/subscription","commits_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/commits{/sha}","git_commits_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/git/commits{/sha}","comments_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/comments{/number}","issue_comment_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/issues/comments{/number}","contents_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/contents/{+path}","compare_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/compare/{base}...{head}","merges_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/merges","archive_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/downloads","issues_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/issues{/number}","pulls_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/pulls{/number}","milestones_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/milestones{/number}","notifications_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/labels{/name}","releases_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/releases{/id}","deployments_url":"https://api.github.com/repos/joeycumines/php-challenge-2.8/deployments","created_at":"2016-09-30T09:55:00Z","updated_at":"2016-09-30T09:55:01Z","pushed_at":"2016-10-03T07:59:52Z","git_url":"git://github.com/joeycumines/php-challenge-2.8.git","ssh_url":"git@github.com:joeycumines/php-challenge-2.8.git","clone_url":"https://github.com/joeycumines/php-challenge-2.8.git","svn_url":"https://github.com/joeycumines/php-challenge-2.8","homepage":null,"size":503,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"joey"}},"base":{"label":"redeyeapps:joey","ref":"joey","sha":"0540aefac551316ca4b7c0b4de5d3efe48c8bb0c","user":{"login":"redeyeapps","id":17226765,"avatar_url":"https://avatars.githubusercontent.com/u/17226765?v=3","gravatar_id":"","url":"https://api.github.com/users/redeyeapps","html_url":"https://github.com/redeyeapps","followers_url":"https://api.github.com/users/redeyeapps/followers","following_url":"https://api.github.com/users/redeyeapps/following{/other_user}","gists_url":"https://api.github.com/users/redeyeapps/gists{/gist_id}","starred_url":"https://api.github.com/users/redeyeapps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redeyeapps/subscriptions","organizations_url":"https://api.github.com/users/redeyeapps/orgs","repos_url":"https://api.github.com/users/redeyeapps/repos","events_url":"https://api.github.com/users/redeyeapps/events{/privacy}","received_events_url":"https://api.github.com/users/redeyeapps/received_events","type":"Organization","site_admin":false},"repo":{"id":60657410,"name":"php-challenge-2.8","full_name":"redeyeapps/php-challenge-2.8","owner":{"login":"redeyeapps","id":17226765,"avatar_url":"https://avatars.githubusercontent.com/u/17226765?v=3","gravatar_id":"","url":"https://api.github.com/users/redeyeapps","html_url":"https://github.com/redeyeapps","followers_url":"https://api.github.com/users/redeyeapps/followers","following_url":"https://api.github.com/users/redeyeapps/following{/other_user}","gists_url":"https://api.github.com/users/redeyeapps/gists{/gist_id}","starred_url":"https://api.github.com/users/redeyeapps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redeyeapps/subscriptions","organizations_url":"https://api.github.com/users/redeyeapps/orgs","repos_url":"https://api.github.com/users/redeyeapps/repos","events_url":"https://api.github.com/users/redeyeapps/events{/privacy}","received_events_url":"https://api.github.com/users/redeyeapps/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/redeyeapps/php-challenge-2.8","description":"RedEye PHP Technical Challenge","fork":false,"url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8","forks_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/forks","keys_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/keys{/key_id}","collaborators_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/teams","hooks_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/hooks","issue_events_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/issues/events{/number}","events_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/events","assignees_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/assignees{/user}","branches_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/branches{/branch}","tags_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/tags","blobs_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/git/refs{/sha}","trees_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/git/trees{/sha}","statuses_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/statuses/{sha}","languages_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/languages","stargazers_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/stargazers","contributors_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/contributors","subscribers_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/subscribers","subscription_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/subscription","commits_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/commits{/sha}","git_commits_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/git/commits{/sha}","comments_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/comments{/number}","issue_comment_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/issues/comments{/number}","contents_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/contents/{+path}","compare_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/compare/{base}...{head}","merges_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/merges","archive_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/downloads","issues_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/issues{/number}","pulls_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls{/number}","milestones_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/milestones{/number}","notifications_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/labels{/name}","releases_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/releases{/id}","deployments_url":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/deployments","created_at":"2016-06-08T01:00:36Z","updated_at":"2016-06-08T03:28:15Z","pushed_at":"2016-10-03T08:00:58Z","git_url":"git://github.com/redeyeapps/php-challenge-2.8.git","ssh_url":"git@github.com:redeyeapps/php-challenge-2.8.git","clone_url":"https://github.com/redeyeapps/php-challenge-2.8.git","svn_url":"https://github.com/redeyeapps/php-challenge-2.8","homepage":null,"size":2325,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":1,"forks":4,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8"},"html":{"href":"https://github.com/redeyeapps/php-challenge-2.8/pull/8"},"issue":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/issues/8"},"comments":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/redeyeapps/php-challenge-2.8/statuses/a613d9d492a8f70d6bd3e184a1fb3018a4191f1d"}}}}
{"actor":{"display_login":"patrickeaton"}}