{"action":"created","comment":{"url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/comments/23510051","id":23510051,"diff_hunk":"@@ -0,0 +1,298 @@\n+package miniblog.controller;\n+\n+import java.io.UnsupportedEncodingException;\n+import java.security.MessageDigest;\n+import java.security.NoSuchAlgorithmException;\n+import java.util.ArrayList;\n+import java.util.List;\n+\n+import javax.servlet.http.HttpServlet;\n+import javax.ws.rs.Consumes;\n+import javax.ws.rs.DELETE;\n+import javax.ws.rs.FormParam;\n+import javax.ws.rs.GET;\n+import javax.ws.rs.POST;\n+import javax.ws.rs.PUT;\n+import javax.ws.rs.Path;\n+import javax.ws.rs.PathParam;\n+import javax.ws.rs.Produces;\n+import javax.ws.rs.core.Context;\n+import javax.ws.rs.core.MediaType;\n+import javax.ws.rs.core.Response;\n+\n+import miniblog.entity.Users;\n+import miniblog.serviceinterface.IUserService;\n+\n+import org.springframework.beans.factory.annotation.Autowired;\n+import org.springframework.stereotype.Controller;\n+import org.springframework.web.bind.annotation.PathVariable;\n+\n+@Path(\"users\")\n+@Controller\n+public class UserController extends HttpServlet {\n+    private static final long serialVersionUID = 1L;\n+\n+    @Autowired\n+    private IUserService userService;\n+\n+    private int loginStatus = 0;\n+\n+    // Register\n+    @Path(\"/add\")\n+    @POST\n+    @Consumes(MediaType.APPLICATION_JSON)\n+    public Response addUser(Users user)\n+    {\n+        // Check fileds required\n+        if (user.getFirstname() == null || user.getLastname() == null || user.getEmail() == null\n+                || user.getUsername() == null || user.getPassword() == null)\n+            return Response.status(1001).entity(\"Fields are required!\").build();\n+        // create user project\n+        Boolean flat = false;\n+        // get password client input\n+        String newpass = user.getPassword();\n+        // convert password to MD5 before input to database\n+        user.setPassword(MD5(newpass));\n+        // check add new user to database success or not(exits or not)\n+        try\n+        {\n+            // add user to database\n+            flat = userService.add(user);\n+        } catch (Exception e)\n+        {\n+            // if add faild\n+            flat = false;\n+        }\n+        // check create success or not\n+        if (flat == true & user != null)\n+            // return successful result !\n+            return Response.status(200).entity(\"Account created success!-----\" + user.toString()).build();\n+        else\n+            // return faild result!\n+            return Response.status(9002).entity(\"User exist!\").build();\n+    }\n+\n+    // Login\n+    @Path(\"/login\")\n+    @POST\n+    @Produces(MediaType.APPLICATION_FORM_URLENCODED)\n+    public Response login(@FormParam(\"username\") String username, @FormParam(\"password\") String password)\n+    {\n+        // Check client login with username and password\n+        if (username == null || password == null)\n+        {\n+            return Response.status(1001).entity(\"Fields are required!\").build();\n+        }\n+        // Convert password to MD5 to compile with database\n+        String newpass = MD5(password);\n+        // Get User from database\n+        Users u = userService.getUserByIdPassword(username, newpass);\n+        // check get success or not\n+        if (u != null)\n+        {\n+            // set data user login\n+            setLogin(u.getId());\n+            // return if login success!\n+            return Response.status(200).entity(\"Login Susscess---! Get data:--\" + u.toString()).build();\n+        } else\n+        {\n+            // return message if login faild\n+            return Response.status(9001).entity(\"Login faild!\").build();\n+        }\n+    }\n+\n+    // Logout\n+    @Path(\"/logout\")\n+    @GET\n+    public Response logout()\n+    {\n+        // check user login or not\n+        if (checkLogin() > 0)\n+        {\n+            // reset login status\n+            loginStatus = 0;\n+            // return with login successful\n+            return Response.status(200).entity(\"Logout successful!\").build();\n+        } else\n+        {\n+            // return when login faild because not login first\n+            return Response.status(1002).entity(\"Login not yet!\").build();\n+        }\n+    }\n+\n+    // Get user by id\n+    @Path(\"/infor/{id}\")\n+    @GET\n+    @Produces(MediaType.APPLICATION_JSON)\n+    public Response getUserInfor(@PathParam(\"id\") String id)\n+    {\n+        int userId = Integer.valueOf(id);\n+        // check user login or not\n+        if (checkLogin() == userId)\n+        {\n+            // get data to add user\n+            Users user = userService.getById(Integer.valueOf(userId));\n+            if (user == null)\n+            {\n+                user = new Users();\n+            }\n+            // return with user infor\n+            return Response.status(200).entity(\"User infor: \" + user.toString()).build();\n+        } else\n+        {\n+            // return if not login\n+            return Response.status(1002).entity(\"You are not login. \").build();\n+        }\n+    }\n+\n+    // update user by id\n+    @Path(\"/update\")\n+    @PUT\n+    @Produces(MediaType.APPLICATION_JSON)\n+    @Consumes(MediaType.APPLICATION_JSON)\n+    public Response updateUser(Users u)\n+    {\n+        // create a user\n+        Users user = new Users();\n+        // get information of user from database with user id of client login\n+        user = userService.getById(u.getId());\n+        // change information client want\n+        user.setFirstname(u.getFirstname());\n+        user.setLastname(u.getLastname());\n+        user.setBirthday(u.getBirthday());\n+        user.setEmail(u.getEmail());\n+        // check user login or not and permission to update\n+        if (checkLogin() == u.getId())\n+        {\n+            // user update\n+            userService.update(user);\n+            // return status and message success\n+            return Response.status(200).entity(\"Successful!---\" + user.toString()).build();\n+        } else\n+        {\n+            setLogin(0);\n+            // return if not login\n+            return Response.status(1002).entity(\"You are not login. \").build();\n+        }\n+    }\n+\n+    // Change user password\n+    @Path(\"/changePass\")\n+    @PUT\n+    @Produces(MediaType.APPLICATION_JSON)\n+    @Consumes(MediaType.APPLICATION_JSON)\n+    public Response changePass(Users u)\n+    {\n+        // create a user\n+        Users user = new Users();\n+        // get information of user from database with user id of client login\n+        user = userService.getById(u.getId());\n+        // change password client want\n+        user.setPassword(MD5(u.getPassword()));\n+        // check user login or not and permission to update\n+        if (checkLogin() == u.getId())\n+        {\n+            // user update password\n+            userService.update(user);\n+            // return status and message success\n+            return Response.status(200).entity(\"Change Password Successful!---\" + user.toString()).build();\n+        } else\n+        {\n+            setLogin(0);\n+            // return if not login\n+            return Response.status(1002).entity(\"You are not login. \").build();\n+        }\n+    }\n+\n+    // Search user by name\n+    @Path(\"/search\")\n+    @POST\n+    @Produces(MediaType.APPLICATION_FORM_URLENCODED)\n+    public Response searchByName(@FormParam(\"name\") String name)\n+    {\n+        // get user have the same name with client input\n+        List<Users> users = userService.getUsersByName(name);\n+        //check user login or not\n+        if (checkLogin() > 0)\n+        {\n+            //check have or not user in database match name searching\n+            if (users != null)\n+            {\n+                //return if exist\n+                return Response.status(200).entity(users.toString()).build();\n+            } else\n+            {\n+                //return if not\n+                return Response.status(9001).entity(\"User not exit\").build();\n+            }\n+        } else\n+            //return if not login\n+            return Response.status(200).entity(\"Need to login first\").build();\n+\n+    }\n+\n+    // Check user login or not(status 0 = not, status > 0 = login)\n+    public int checkLogin()\n+    {\n+        return loginStatus;\n+    }\n+\n+    // Set user login or not\n+    public void setLogin(int loginstt)\n+    {\n+        loginStatus = loginstt;\n+    }\n+\n+    @Path(\"/delete\")\n+    @DELETE\n+    @Consumes(MediaType.APPLICATION_JSON)\n+    public Response deleteUser(String name)\n+    {\n+        name = \"nguyen.a\";\n+        userService.delete(userService.getUsersByUsername(name).getId());\n+        return Response.status(200).entity(\"Delete Susscess\").build();\n+    }\n+\n+    // //// Two methods convet password to MD5////////\n+    private static String convertToHex(byte[] data)\n+    {\n+        StringBuffer buf = new StringBuffer();\n+        for (int i = 0; i < data.length; i++)\n+        {\n+            int halfbyte = (data[i] >>> 4) & 0x0F;\n+            int two_halfs = 0;\n+            do\n+            {\n+                if ((0 <= halfbyte) && (halfbyte <= 9))\n+                    buf.append((char) ('0' + halfbyte));\n+                else\n+                    buf.append((char) ('a' + (halfbyte - 10)));\n+                halfbyte = data[i] & 0x0F;\n+            } while (two_halfs++ < 1);\n+        }\n+        return buf.toString();\n+    }\n+\n+    public static String MD5(String text)","path":"src/miniblog/src/main/java/miniblog/controller/UserController.java","position":276,"original_position":276,"commit_id":"47b2f3a92a250156e208108672b016c075707c50","original_commit_id":"47b2f3a92a250156e208108672b016c075707c50","user":{"login":"nguyen-kiet-mulodo","id":8994233,"avatar_url":"https://avatars.githubusercontent.com/u/8994233?v=3","gravatar_id":"","url":"https://api.github.com/users/nguyen-kiet-mulodo","html_url":"https://github.com/nguyen-kiet-mulodo","followers_url":"https://api.github.com/users/nguyen-kiet-mulodo/followers","following_url":"https://api.github.com/users/nguyen-kiet-mulodo/following{/other_user}","gists_url":"https://api.github.com/users/nguyen-kiet-mulodo/gists{/gist_id}","starred_url":"https://api.github.com/users/nguyen-kiet-mulodo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nguyen-kiet-mulodo/subscriptions","organizations_url":"https://api.github.com/users/nguyen-kiet-mulodo/orgs","repos_url":"https://api.github.com/users/nguyen-kiet-mulodo/repos","events_url":"https://api.github.com/users/nguyen-kiet-mulodo/events{/privacy}","received_events_url":"https://api.github.com/users/nguyen-kiet-mulodo/received_events","type":"User","site_admin":false},"body":"This function should be placed in Common java file.","created_at":"2015-01-26T01:37:39Z","updated_at":"2015-01-26T01:37:39Z","html_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet/pull/5#discussion_r23510051","pull_request_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5","_links":{"self":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/comments/23510051"},"html":{"href":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet/pull/5#discussion_r23510051"},"pull_request":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5","id":27745175,"html_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet/pull/5","diff_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet/pull/5.diff","patch_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet/pull/5.patch","issue_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/5","number":5,"state":"open","locked":false,"title":"Users End Point APIs #19919","user":{"login":"nguyen-viet-mulodo","id":10399089,"avatar_url":"https://avatars.githubusercontent.com/u/10399089?v=3","gravatar_id":"","url":"https://api.github.com/users/nguyen-viet-mulodo","html_url":"https://github.com/nguyen-viet-mulodo","followers_url":"https://api.github.com/users/nguyen-viet-mulodo/followers","following_url":"https://api.github.com/users/nguyen-viet-mulodo/following{/other_user}","gists_url":"https://api.github.com/users/nguyen-viet-mulodo/gists{/gist_id}","starred_url":"https://api.github.com/users/nguyen-viet-mulodo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nguyen-viet-mulodo/subscriptions","organizations_url":"https://api.github.com/users/nguyen-viet-mulodo/orgs","repos_url":"https://api.github.com/users/nguyen-viet-mulodo/repos","events_url":"https://api.github.com/users/nguyen-viet-mulodo/events{/privacy}","received_events_url":"https://api.github.com/users/nguyen-viet-mulodo/received_events","type":"User","site_admin":false},"body":"*#19919: Users endpoint APIs\r\n- [x] #19920: Create User Account\r\n- [x] #19921: Create User Account Unit Testing\t\r\n- [x] #19922: User Login\t\r\n- [x] #19923: User Login Unit Testing\t\r\n- [x] #19924: User Logout\t\r\n- [x] #19925: User Logout Unit Testing\t\r\n- [x] #19926: Update User Info\t\r\n- [x] #19927: Update User Info Unit Testing\r\n- [x] #19928: Get User Info\t\r\n- [x] #19929: Get User Info\tUnit Testing\r\n- [x] #19930: Change Password\t\r\n- [x] #19931: Change Password Unit Testing\t\r\n- [x] #19932: Search User By Name\t\r\n- [x] #19933: Search User By Name Unit Testing","created_at":"2015-01-21T09:24:32Z","updated_at":"2015-01-26T01:37:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5450f37254d8dd263982b97a4ba7f39e8a83b6a8","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5/commits","review_comments_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5/comments","review_comment_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/comments/{number}","comments_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/5/comments","statuses_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/statuses/47b2f3a92a250156e208108672b016c075707c50","head":{"label":"Mulodo-Java-Training:users_end_point_APIs_19919","ref":"users_end_point_APIs_19919","sha":"47b2f3a92a250156e208108672b016c075707c50","user":{"login":"Mulodo-Java-Training","id":10279541,"avatar_url":"https://avatars.githubusercontent.com/u/10279541?v=3","gravatar_id":"","url":"https://api.github.com/users/Mulodo-Java-Training","html_url":"https://github.com/Mulodo-Java-Training","followers_url":"https://api.github.com/users/Mulodo-Java-Training/followers","following_url":"https://api.github.com/users/Mulodo-Java-Training/following{/other_user}","gists_url":"https://api.github.com/users/Mulodo-Java-Training/gists{/gist_id}","starred_url":"https://api.github.com/users/Mulodo-Java-Training/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mulodo-Java-Training/subscriptions","organizations_url":"https://api.github.com/users/Mulodo-Java-Training/orgs","repos_url":"https://api.github.com/users/Mulodo-Java-Training/repos","events_url":"https://api.github.com/users/Mulodo-Java-Training/events{/privacy}","received_events_url":"https://api.github.com/users/Mulodo-Java-Training/received_events","type":"Organization","site_admin":false},"repo":{"id":28841089,"name":"miniblog-nguyen.viet","full_name":"Mulodo-Java-Training/miniblog-nguyen.viet","owner":{"login":"Mulodo-Java-Training","id":10279541,"avatar_url":"https://avatars.githubusercontent.com/u/10279541?v=3","gravatar_id":"","url":"https://api.github.com/users/Mulodo-Java-Training","html_url":"https://github.com/Mulodo-Java-Training","followers_url":"https://api.github.com/users/Mulodo-Java-Training/followers","following_url":"https://api.github.com/users/Mulodo-Java-Training/following{/other_user}","gists_url":"https://api.github.com/users/Mulodo-Java-Training/gists{/gist_id}","starred_url":"https://api.github.com/users/Mulodo-Java-Training/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mulodo-Java-Training/subscriptions","organizations_url":"https://api.github.com/users/Mulodo-Java-Training/orgs","repos_url":"https://api.github.com/users/Mulodo-Java-Training/repos","events_url":"https://api.github.com/users/Mulodo-Java-Training/events{/privacy}","received_events_url":"https://api.github.com/users/Mulodo-Java-Training/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet","description":null,"fork":false,"url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet","forks_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/forks","keys_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/teams","hooks_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/hooks","issue_events_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/events{/number}","events_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/events","assignees_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/assignees{/user}","branches_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/branches{/branch}","tags_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/tags","blobs_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/refs{/sha}","trees_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/statuses/{sha}","languages_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/languages","stargazers_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/stargazers","contributors_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/contributors","subscribers_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/subscribers","subscription_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/subscription","commits_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/commits{/sha}","git_commits_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/commits{/sha}","comments_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/comments{/number}","issue_comment_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/comments/{number}","contents_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/contents/{+path}","compare_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/merges","archive_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/downloads","issues_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues{/number}","pulls_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls{/number}","milestones_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/milestones{/number}","notifications_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/labels{/name}","releases_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/releases{/id}","created_at":"2015-01-06T01:38:25Z","updated_at":"2015-01-06T01:38:25Z","pushed_at":"2015-01-23T09:44:41Z","git_url":"git://github.com/Mulodo-Java-Training/miniblog-nguyen.viet.git","ssh_url":"git@github.com:Mulodo-Java-Training/miniblog-nguyen.viet.git","clone_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet.git","svn_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet","homepage":null,"size":10656,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"Mulodo-Java-Training:master","ref":"master","sha":"024662ab5f971d0c950557d179077fc5f899f179","user":{"login":"Mulodo-Java-Training","id":10279541,"avatar_url":"https://avatars.githubusercontent.com/u/10279541?v=3","gravatar_id":"","url":"https://api.github.com/users/Mulodo-Java-Training","html_url":"https://github.com/Mulodo-Java-Training","followers_url":"https://api.github.com/users/Mulodo-Java-Training/followers","following_url":"https://api.github.com/users/Mulodo-Java-Training/following{/other_user}","gists_url":"https://api.github.com/users/Mulodo-Java-Training/gists{/gist_id}","starred_url":"https://api.github.com/users/Mulodo-Java-Training/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mulodo-Java-Training/subscriptions","organizations_url":"https://api.github.com/users/Mulodo-Java-Training/orgs","repos_url":"https://api.github.com/users/Mulodo-Java-Training/repos","events_url":"https://api.github.com/users/Mulodo-Java-Training/events{/privacy}","received_events_url":"https://api.github.com/users/Mulodo-Java-Training/received_events","type":"Organization","site_admin":false},"repo":{"id":28841089,"name":"miniblog-nguyen.viet","full_name":"Mulodo-Java-Training/miniblog-nguyen.viet","owner":{"login":"Mulodo-Java-Training","id":10279541,"avatar_url":"https://avatars.githubusercontent.com/u/10279541?v=3","gravatar_id":"","url":"https://api.github.com/users/Mulodo-Java-Training","html_url":"https://github.com/Mulodo-Java-Training","followers_url":"https://api.github.com/users/Mulodo-Java-Training/followers","following_url":"https://api.github.com/users/Mulodo-Java-Training/following{/other_user}","gists_url":"https://api.github.com/users/Mulodo-Java-Training/gists{/gist_id}","starred_url":"https://api.github.com/users/Mulodo-Java-Training/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mulodo-Java-Training/subscriptions","organizations_url":"https://api.github.com/users/Mulodo-Java-Training/orgs","repos_url":"https://api.github.com/users/Mulodo-Java-Training/repos","events_url":"https://api.github.com/users/Mulodo-Java-Training/events{/privacy}","received_events_url":"https://api.github.com/users/Mulodo-Java-Training/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet","description":null,"fork":false,"url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet","forks_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/forks","keys_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/teams","hooks_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/hooks","issue_events_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/events{/number}","events_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/events","assignees_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/assignees{/user}","branches_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/branches{/branch}","tags_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/tags","blobs_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/refs{/sha}","trees_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/statuses/{sha}","languages_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/languages","stargazers_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/stargazers","contributors_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/contributors","subscribers_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/subscribers","subscription_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/subscription","commits_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/commits{/sha}","git_commits_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/git/commits{/sha}","comments_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/comments{/number}","issue_comment_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/comments/{number}","contents_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/contents/{+path}","compare_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/merges","archive_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/downloads","issues_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues{/number}","pulls_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls{/number}","milestones_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/milestones{/number}","notifications_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/labels{/name}","releases_url":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/releases{/id}","created_at":"2015-01-06T01:38:25Z","updated_at":"2015-01-06T01:38:25Z","pushed_at":"2015-01-23T09:44:41Z","git_url":"git://github.com/Mulodo-Java-Training/miniblog-nguyen.viet.git","ssh_url":"git@github.com:Mulodo-Java-Training/miniblog-nguyen.viet.git","clone_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet.git","svn_url":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet","homepage":null,"size":10656,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5"},"html":{"href":"https://github.com/Mulodo-Java-Training/miniblog-nguyen.viet/pull/5"},"issue":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/5"},"comments":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/Mulodo-Java-Training/miniblog-nguyen.viet/statuses/47b2f3a92a250156e208108672b016c075707c50"}}}}