{"action":"created","comment":{"url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/comments/41217593","id":41217593,"diff_hunk":"@@ -0,0 +1,325 @@\n+var Client = require(\"imap\");\n+var async = require(\"async\");\n+var inspect = require(\"util\").inspect;\n+\n+/**\n+ * Constructor\n+ *\n+ */\n+\n+var Imap = function(credentials) {\n+  this.client = new Client(credentials);\n+}\n+\n+/**\n+ * Connect to IMAP server\n+ * \n+ */\n+\n+Imap.prototype.connect = function() {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    self.client.connect();\n+    self.client.once(\"ready\", function(){\n+      console.log(\"Connection ready\");\n+      resolve();\n+    })\n+    self.client.once(\"error\", function(err) {\n+      console.log(err);\n+      reject(err);\n+    })\n+    self.client.once(\"end\", function() {\n+      console.log(\"Connection ended\");\n+    })\n+  })\n+}\n+\n+/**\n+ * Lists the mail boxes\n+ * \n+ */\n+\n+Imap.prototype.getBoxes = function() {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    self.client.getBoxes(function(err, boxes){\n+      if (err) {\n+        return reject(err);\n+      } else {\n+        resolve(boxes);\n+      }\n+    })\n+  })\n+}\n+\n+/**\n+ * Lists the contents of the mail box\n+ *\n+ * @param {String} name - the name of the box\n+ * @param {Number} start - the offset\n+ * @param {Number} limit - the expected number of result\n+ * @param {Object} searchParams - search parameters\n+ * \n+ */\n+Imap.prototype.listBox = function(name, start, limit, searchParams) {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    var bodies = searchParams || 'HEADER';\n+    var result = [];\n+    self.client.openBox(name, true, function(err, box){\n+      if (err) {\n+        return reject(err);\n+      }\n+      console.log(\"total message \" + box.messages.total);\n+      var fetchLimit = box.messages.total;\n+      if (limit) {\n+        fetchLimit = start + limit - 1;\n+      }\n+      var seqArray = []\n+      for (var i = start || 1; i <= fetchLimit; i++) {\n+        seqArray.push(i);\n+      }\n+      /* console.log(seqArray); */\n+      \n+      async.each(seqArray, function iterator(seq, callback) {\n+        var mail = {}\n+        var f = self.client.seq.fetch(seq, {\n+          bodies : bodies,\n+          struct : true\n+        });\n+        f.on(\"message\", function(msg, seqno){\n+          var prefix = \"(#\" + seqno + \")\";\n+    \n+          msg.on(\"body\", function(stream, info) {\n+            var buffer = \"\";\n+            stream.on(\"data\", function(chunk) {\n+              buffer += chunk.toString(\"utf8\");\n+            });\n+            stream.once(\"end\", function(attrs){\n+              mail.buffer = buffer;\n+            });\n+          })\n+          msg.once(\"attributes\", function(attrs) {\n+              mail.attributes = attrs;\n+          })\n+          msg.once(\"end\", function(){\n+            result.push(mail);\n+          })\n+        });\n+        f.once(\"error\", function(err) {\n+          console.log(\"Fetch error : \" + err);\n+        })\n+        f.once(\"end\", function(err) {\n+          callback();\n+        })\n+      }, function(err){\n+        if (err) {\n+          return reject(err);\n+        }\n+        resolve(result);\n+      })\n+    })\n+  })\n+}\n+\n+/**\n+ * Creates a box\n+ *\n+ * @param {String} name - the name of the box\n+ */\n+Imap.prototype.createBox = function(name) {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    self.client.addBox(name, function(err){\n+      if (err) {\n+        return reject(err);\n+      } else {\n+        resolve();\n+      }\n+    })\n+  })\n+}\n+\n+/**\n+ * Removes a box\n+ *\n+ * @param {String} name - the name of the box\n+ */\n+Imap.prototype.removeBox = function(name) {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    self.client.delBox(name, function(err){\n+      if (err) {\n+        return reject(err);\n+      } else {\n+        resolve();\n+      }\n+    })\n+  })\n+}\n+\n+/**\n+ * Rename box\n+ *\n+ * @param {String} oldName - the old name of the box\n+ * @param {String} newName - the new name of the box\n+ */\n+Imap.prototype.renameBox = function(oldName, newName) {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    self.client.renameBox(oldName, newName, function(err){\n+      if (err) {\n+        return reject(err);\n+      } else {\n+        resolve();\n+      }\n+    })\n+  })\n+}\n+\n+\n+\n+/**\n+ * Retrieves an email message\n+ *\n+ * @param {String} id - the id of the message\n+ */\n+Imap.prototype.retrieveMessage = function(boxName, id) {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    var result = [];\n+    self.client.openBox(boxName, true, function(err, box){\n+      if (err) {\n+        return reject(err);\n+      }\n+      var mail = {}\n+      self.client.search([id.toString()], function(err, result){\n+        if (err) {\n+          return reject(err);\n+        }\n+        if (result.length == 0) {\n+          var err = new Error(\"Message UID not found\");\n+          return reject(err);\n+        }\n+        var mail = {}\n+        var f = self.client.seq.fetch(result, {\n+          bodies : \"\",\n+          struct : true\n+        });\n+        f.on(\"message\", function(msg, seqno){\n+          var prefix = \"(#\" + seqno + \")\";\n+    \n+          msg.on(\"body\", function(stream, info) {\n+            var buffer = \"\";\n+            stream.on(\"data\", function(chunk) {\n+              buffer += chunk.toString(\"utf8\");\n+            });\n+            stream.once(\"end\", function(attrs){\n+              mail.buffer = buffer;\n+            });\n+          })\n+          msg.once(\"attributes\", function(attrs) {\n+              mail.attributes = attrs;\n+          })\n+          msg.once(\"end\", function(){\n+            /* result.push(mail); */\n+            resolve(mail);\n+          })\n+        });\n+        f.once(\"error\", function(err) {\n+          console.log(\"Fetch error : \" + err);\n+          reject(err);\n+        })\n+      });\n+    })\n+  })\n+}\n+\n+/**\n+ * Moves an email message to another box\n+ *\n+ * @param {String} id - the id of the message\n+ * @param {String} newBox - the name of the box\n+ */\n+Imap.prototype.moveMessage = function(id, oldBox, newBox) {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    self.client.openBox(oldBox, true, function(err){\n+      if (err) {\n+        return reject(err);\n+      }\n+      /* resolve(); */\n+      console.log(1);\n+      self.client.move([id.toString()], newBox, function(err){\n+        console.log(2);\n+        if (err) {\n+          return reject(err);\n+        }\n+        resolve();\n+      });\n+    })\n+  })\n+}\n+\n+\n+/**\n+ * Removes an email message\n+ *\n+ * @param {String} id - the id of the message\n+ */\n+Imap.prototype.removeMessage = function(id, boxName) {\n+  var self = this;\n+  return new Promise(function(resolve, reject){\n+    console.log(\"open box \" + boxName);\n+    self.client.openBox(boxName, true, function(err){\n+      if (err) {\n+        return reject(err);\n+      }\n+      console.log(\"add flag\");\n+      self.client.search([id.toString()], function(err, result){\n+        self.client.seq.addFlags([id.toString()], \"\\\\Deleted\", function(err){\n+          if (err) {\n+            return reject(err);\n+          }\n+          self.client.seq.move([id.toString()], \"[Gmail]/Trash\", function(err, code){\n+            console.log(2);\n+            if (err) {\n+              return reject(err);\n+            }\n+            resolve();\n+          });\n+        })\n+      });\n+    })\n+  })\n+}\n+\n+/**\n+ * Creates an new email message in the Draft box\n+ *\n+ * @param {String} messageData - the id of the message\n+ */\n+Imap.prototype.newMessage = function(messageData) {\n+  var self = this;\n+  console.log(messageData);\n+  return new Promise(function(resolve, reject){\n+    self.client.append(messageData, { mailbox : \"[Gmail]/Drafts\", flags : \"\\\\Seen\"}, function(err){","path":"api/imap/index.js","position":306,"original_position":306,"commit_id":"bdade75cdd42ab2f82ad6a440b12b709a8313968","original_commit_id":"bdade75cdd42ab2f82ad6a440b12b709a8313968","user":{"login":"mdamt","id":641261,"avatar_url":"https://avatars.githubusercontent.com/u/641261?v=3","gravatar_id":"","url":"https://api.github.com/users/mdamt","html_url":"https://github.com/mdamt","followers_url":"https://api.github.com/users/mdamt/followers","following_url":"https://api.github.com/users/mdamt/following{/other_user}","gists_url":"https://api.github.com/users/mdamt/gists{/gist_id}","starred_url":"https://api.github.com/users/mdamt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdamt/subscriptions","organizations_url":"https://api.github.com/users/mdamt/orgs","repos_url":"https://api.github.com/users/mdamt/repos","events_url":"https://api.github.com/users/mdamt/events{/privacy}","received_events_url":"https://api.github.com/users/mdamt/received_events","type":"User","site_admin":false},"body":"X","created_at":"2015-10-06T01:15:54Z","updated_at":"2015-10-06T01:15:54Z","html_url":"https://github.com/KodeKreatif/surelia-web-client/pull/2#discussion_r41217593","pull_request_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2","_links":{"self":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/comments/41217593"},"html":{"href":"https://github.com/KodeKreatif/surelia-web-client/pull/2#discussion_r41217593"},"pull_request":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2"}}},"pull_request":{"url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2","id":46849310,"html_url":"https://github.com/KodeKreatif/surelia-web-client/pull/2","diff_url":"https://github.com/KodeKreatif/surelia-web-client/pull/2.diff","patch_url":"https://github.com/KodeKreatif/surelia-web-client/pull/2.patch","issue_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/issues/2","number":2,"state":"open","locked":false,"title":"Imap module","user":{"login":"herpiko","id":2534060,"avatar_url":"https://avatars.githubusercontent.com/u/2534060?v=3","gravatar_id":"","url":"https://api.github.com/users/herpiko","html_url":"https://github.com/herpiko","followers_url":"https://api.github.com/users/herpiko/followers","following_url":"https://api.github.com/users/herpiko/following{/other_user}","gists_url":"https://api.github.com/users/herpiko/gists{/gist_id}","starred_url":"https://api.github.com/users/herpiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/herpiko/subscriptions","organizations_url":"https://api.github.com/users/herpiko/orgs","repos_url":"https://api.github.com/users/herpiko/repos","events_url":"https://api.github.com/users/herpiko/events{/privacy}","received_events_url":"https://api.github.com/users/herpiko/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-10-06T00:04:01Z","updated_at":"2015-10-06T01:15:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e4276b2e14a3e3e5aff5efd326f9bb4f899093c8","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2/commits","review_comments_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2/comments","review_comment_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/comments{/number}","comments_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/issues/2/comments","statuses_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/statuses/bdade75cdd42ab2f82ad6a440b12b709a8313968","head":{"label":"herpiko:imap-2","ref":"imap-2","sha":"bdade75cdd42ab2f82ad6a440b12b709a8313968","user":{"login":"herpiko","id":2534060,"avatar_url":"https://avatars.githubusercontent.com/u/2534060?v=3","gravatar_id":"","url":"https://api.github.com/users/herpiko","html_url":"https://github.com/herpiko","followers_url":"https://api.github.com/users/herpiko/followers","following_url":"https://api.github.com/users/herpiko/following{/other_user}","gists_url":"https://api.github.com/users/herpiko/gists{/gist_id}","starred_url":"https://api.github.com/users/herpiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/herpiko/subscriptions","organizations_url":"https://api.github.com/users/herpiko/orgs","repos_url":"https://api.github.com/users/herpiko/repos","events_url":"https://api.github.com/users/herpiko/events{/privacy}","received_events_url":"https://api.github.com/users/herpiko/received_events","type":"User","site_admin":false},"repo":{"id":43644460,"name":"surelia-web-client","full_name":"herpiko/surelia-web-client","owner":{"login":"herpiko","id":2534060,"avatar_url":"https://avatars.githubusercontent.com/u/2534060?v=3","gravatar_id":"","url":"https://api.github.com/users/herpiko","html_url":"https://github.com/herpiko","followers_url":"https://api.github.com/users/herpiko/followers","following_url":"https://api.github.com/users/herpiko/following{/other_user}","gists_url":"https://api.github.com/users/herpiko/gists{/gist_id}","starred_url":"https://api.github.com/users/herpiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/herpiko/subscriptions","organizations_url":"https://api.github.com/users/herpiko/orgs","repos_url":"https://api.github.com/users/herpiko/repos","events_url":"https://api.github.com/users/herpiko/events{/privacy}","received_events_url":"https://api.github.com/users/herpiko/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/herpiko/surelia-web-client","description":"","fork":true,"url":"https://api.github.com/repos/herpiko/surelia-web-client","forks_url":"https://api.github.com/repos/herpiko/surelia-web-client/forks","keys_url":"https://api.github.com/repos/herpiko/surelia-web-client/keys{/key_id}","collaborators_url":"https://api.github.com/repos/herpiko/surelia-web-client/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/herpiko/surelia-web-client/teams","hooks_url":"https://api.github.com/repos/herpiko/surelia-web-client/hooks","issue_events_url":"https://api.github.com/repos/herpiko/surelia-web-client/issues/events{/number}","events_url":"https://api.github.com/repos/herpiko/surelia-web-client/events","assignees_url":"https://api.github.com/repos/herpiko/surelia-web-client/assignees{/user}","branches_url":"https://api.github.com/repos/herpiko/surelia-web-client/branches{/branch}","tags_url":"https://api.github.com/repos/herpiko/surelia-web-client/tags","blobs_url":"https://api.github.com/repos/herpiko/surelia-web-client/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/herpiko/surelia-web-client/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/herpiko/surelia-web-client/git/refs{/sha}","trees_url":"https://api.github.com/repos/herpiko/surelia-web-client/git/trees{/sha}","statuses_url":"https://api.github.com/repos/herpiko/surelia-web-client/statuses/{sha}","languages_url":"https://api.github.com/repos/herpiko/surelia-web-client/languages","stargazers_url":"https://api.github.com/repos/herpiko/surelia-web-client/stargazers","contributors_url":"https://api.github.com/repos/herpiko/surelia-web-client/contributors","subscribers_url":"https://api.github.com/repos/herpiko/surelia-web-client/subscribers","subscription_url":"https://api.github.com/repos/herpiko/surelia-web-client/subscription","commits_url":"https://api.github.com/repos/herpiko/surelia-web-client/commits{/sha}","git_commits_url":"https://api.github.com/repos/herpiko/surelia-web-client/git/commits{/sha}","comments_url":"https://api.github.com/repos/herpiko/surelia-web-client/comments{/number}","issue_comment_url":"https://api.github.com/repos/herpiko/surelia-web-client/issues/comments{/number}","contents_url":"https://api.github.com/repos/herpiko/surelia-web-client/contents/{+path}","compare_url":"https://api.github.com/repos/herpiko/surelia-web-client/compare/{base}...{head}","merges_url":"https://api.github.com/repos/herpiko/surelia-web-client/merges","archive_url":"https://api.github.com/repos/herpiko/surelia-web-client/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/herpiko/surelia-web-client/downloads","issues_url":"https://api.github.com/repos/herpiko/surelia-web-client/issues{/number}","pulls_url":"https://api.github.com/repos/herpiko/surelia-web-client/pulls{/number}","milestones_url":"https://api.github.com/repos/herpiko/surelia-web-client/milestones{/number}","notifications_url":"https://api.github.com/repos/herpiko/surelia-web-client/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/herpiko/surelia-web-client/labels{/name}","releases_url":"https://api.github.com/repos/herpiko/surelia-web-client/releases{/id}","created_at":"2015-10-04T17:08:10Z","updated_at":"2015-10-04T17:08:11Z","pushed_at":"2015-10-06T00:03:39Z","git_url":"git://github.com/herpiko/surelia-web-client.git","ssh_url":"git@github.com:herpiko/surelia-web-client.git","clone_url":"https://github.com/herpiko/surelia-web-client.git","svn_url":"https://github.com/herpiko/surelia-web-client","homepage":null,"size":87,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","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":"master"}},"base":{"label":"KodeKreatif:master","ref":"master","sha":"104c17cd7caf05b8a507e812ba99c3997a1f63bc","user":{"login":"KodeKreatif","id":6791688,"avatar_url":"https://avatars.githubusercontent.com/u/6791688?v=3","gravatar_id":"","url":"https://api.github.com/users/KodeKreatif","html_url":"https://github.com/KodeKreatif","followers_url":"https://api.github.com/users/KodeKreatif/followers","following_url":"https://api.github.com/users/KodeKreatif/following{/other_user}","gists_url":"https://api.github.com/users/KodeKreatif/gists{/gist_id}","starred_url":"https://api.github.com/users/KodeKreatif/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KodeKreatif/subscriptions","organizations_url":"https://api.github.com/users/KodeKreatif/orgs","repos_url":"https://api.github.com/users/KodeKreatif/repos","events_url":"https://api.github.com/users/KodeKreatif/events{/privacy}","received_events_url":"https://api.github.com/users/KodeKreatif/received_events","type":"Organization","site_admin":false},"repo":{"id":43272860,"name":"surelia-web-client","full_name":"KodeKreatif/surelia-web-client","owner":{"login":"KodeKreatif","id":6791688,"avatar_url":"https://avatars.githubusercontent.com/u/6791688?v=3","gravatar_id":"","url":"https://api.github.com/users/KodeKreatif","html_url":"https://github.com/KodeKreatif","followers_url":"https://api.github.com/users/KodeKreatif/followers","following_url":"https://api.github.com/users/KodeKreatif/following{/other_user}","gists_url":"https://api.github.com/users/KodeKreatif/gists{/gist_id}","starred_url":"https://api.github.com/users/KodeKreatif/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KodeKreatif/subscriptions","organizations_url":"https://api.github.com/users/KodeKreatif/orgs","repos_url":"https://api.github.com/users/KodeKreatif/repos","events_url":"https://api.github.com/users/KodeKreatif/events{/privacy}","received_events_url":"https://api.github.com/users/KodeKreatif/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/KodeKreatif/surelia-web-client","description":"","fork":false,"url":"https://api.github.com/repos/KodeKreatif/surelia-web-client","forks_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/forks","keys_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/teams","hooks_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/hooks","issue_events_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/issues/events{/number}","events_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/events","assignees_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/assignees{/user}","branches_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/branches{/branch}","tags_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/tags","blobs_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/git/refs{/sha}","trees_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/statuses/{sha}","languages_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/languages","stargazers_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/stargazers","contributors_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/contributors","subscribers_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/subscribers","subscription_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/subscription","commits_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/commits{/sha}","git_commits_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/git/commits{/sha}","comments_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/comments{/number}","issue_comment_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/issues/comments{/number}","contents_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/contents/{+path}","compare_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/merges","archive_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/downloads","issues_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/issues{/number}","pulls_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls{/number}","milestones_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/milestones{/number}","notifications_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/labels{/name}","releases_url":"https://api.github.com/repos/KodeKreatif/surelia-web-client/releases{/id}","created_at":"2015-09-28T01:11:13Z","updated_at":"2015-09-28T01:11:33Z","pushed_at":"2015-10-06T00:04:01Z","git_url":"git://github.com/KodeKreatif/surelia-web-client.git","ssh_url":"git@github.com:KodeKreatif/surelia-web-client.git","clone_url":"https://github.com/KodeKreatif/surelia-web-client.git","svn_url":"https://github.com/KodeKreatif/surelia-web-client","homepage":null,"size":135,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2"},"html":{"href":"https://github.com/KodeKreatif/surelia-web-client/pull/2"},"issue":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/issues/2"},"comments":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/KodeKreatif/surelia-web-client/statuses/bdade75cdd42ab2f82ad6a440b12b709a8313968"}}}}