{"action":"created","comment":{"url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/comments/232665901","pull_request_review_id":173910354,"id":232665901,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjY2NTkwMQ==","diff_hunk":"@@ -426,32 +426,44 @@ image::LoanIdAddCommandSequenceDiagram.png[width=\"800\"]\n // end::loanid[]\n \n // tag::adminauthentication[]\n-=== Admin Authentication\n-Before critical actions such as deleting a loan can be performed, admin authentication\n-should be required. This ensures that only authorized users are able to perform critical actions.\n+=== Authentication\n+Before critical actions such as deleting a loan can be performed, authentication of user\n+is required. This ensures that only authorized users are able to perform critical actions.\n This is done by requiring a password before performing a critical action.\n \n ==== Current Implementation\n-The authentication mechanism is provided by `Password`. It implements the following operations that facilitates authentications:\n+|===\n+| _The following provide a walkthrough on how the authentication feature is implemented._\n+|===\n+The authentication mechanism is provided by the `Password` class. It implements the following operations that facilitates authentications:\n \n * `Password#isSamePassword(currentPass, providedPass)` -- Checks if both `providedPass` and `currentPass` are the same password after decryption.\n-* `Password#generateSalt()` -- Generate a hash salt for the app.\n+* `Password#generateSalt()` -- Generate a hashing salt for the app.\n * `Password#encrypt(providedPass, salt)` -- Encrypt `providedPass` using hashing `salt`.\n \n Given below is an example usage scenario and how the authentication mechanism behaves at each step:\n \n-Step 1. The user launches the application for the first time. `UserPref` will be initialised with a randomly generated salt by calling `Password#generateSalt()`, and a default hashed password from `a12345`.\n+*Step 1*. The user launches the application for the first time. `UserPref` will be initialised with a randomly generated salt by calling `Password#generateSalt()`, and a default hashed password from `a12345`.\n+\n+Example of a hash salt is:","path":"docs/DeveloperGuide.adoc","position":29,"original_position":29,"commit_id":"5502a9021cd7c4926a0023655e159fdbf361f17f","original_commit_id":"5502a9021cd7c4926a0023655e159fdbf361f17f","user":{"login":"FongYuan","id":42345573,"node_id":"MDQ6VXNlcjQyMzQ1NTcz","avatar_url":"https://avatars2.githubusercontent.com/u/42345573?v=4","gravatar_id":"","url":"https://api.github.com/users/FongYuan","html_url":"https://github.com/FongYuan","followers_url":"https://api.github.com/users/FongYuan/followers","following_url":"https://api.github.com/users/FongYuan/following{/other_user}","gists_url":"https://api.github.com/users/FongYuan/gists{/gist_id}","starred_url":"https://api.github.com/users/FongYuan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FongYuan/subscriptions","organizations_url":"https://api.github.com/users/FongYuan/orgs","repos_url":"https://api.github.com/users/FongYuan/repos","events_url":"https://api.github.com/users/FongYuan/events{/privacy}","received_events_url":"https://api.github.com/users/FongYuan/received_events","type":"User","site_admin":false},"body":"You changed the previous term to \"hashing salt\" but still use \"hash salt\" here","created_at":"2018-11-12T13:58:28Z","updated_at":"2018-11-12T13:58:28Z","html_url":"https://github.com/CS2103-AY1819S1-F10-2/main/pull/279#discussion_r232665901","pull_request_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/comments/232665901"},"html":{"href":"https://github.com/CS2103-AY1819S1-F10-2/main/pull/279#discussion_r232665901"},"pull_request":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279"}}},"pull_request":{"url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279","id":230139602,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMTM5NjAy","html_url":"https://github.com/CS2103-AY1819S1-F10-2/main/pull/279","diff_url":"https://github.com/CS2103-AY1819S1-F10-2/main/pull/279.diff","patch_url":"https://github.com/CS2103-AY1819S1-F10-2/main/pull/279.patch","issue_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/279","number":279,"state":"open","locked":false,"title":"Update weineng ppp","user":{"login":"wn96","id":25412108,"node_id":"MDQ6VXNlcjI1NDEyMTA4","avatar_url":"https://avatars0.githubusercontent.com/u/25412108?v=4","gravatar_id":"","url":"https://api.github.com/users/wn96","html_url":"https://github.com/wn96","followers_url":"https://api.github.com/users/wn96/followers","following_url":"https://api.github.com/users/wn96/following{/other_user}","gists_url":"https://api.github.com/users/wn96/gists{/gist_id}","starred_url":"https://api.github.com/users/wn96/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wn96/subscriptions","organizations_url":"https://api.github.com/users/wn96/orgs","repos_url":"https://api.github.com/users/wn96/repos","events_url":"https://api.github.com/users/wn96/events{/privacy}","received_events_url":"https://api.github.com/users/wn96/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-11-12T13:46:36Z","updated_at":"2018-11-12T13:58:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6b7a559366a7966109648630173337e5b6d0bcf0","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279/commits","review_comments_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279/comments","review_comment_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/279/comments","statuses_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/statuses/5502a9021cd7c4926a0023655e159fdbf361f17f","head":{"label":"CS2103-AY1819S1-F10-2:update-weineng-ppp","ref":"update-weineng-ppp","sha":"5502a9021cd7c4926a0023655e159fdbf361f17f","user":{"login":"CS2103-AY1819S1-F10-2","id":43126278,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQzMTI2Mjc4","avatar_url":"https://avatars1.githubusercontent.com/u/43126278?v=4","gravatar_id":"","url":"https://api.github.com/users/CS2103-AY1819S1-F10-2","html_url":"https://github.com/CS2103-AY1819S1-F10-2","followers_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/followers","following_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/following{/other_user}","gists_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/gists{/gist_id}","starred_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/subscriptions","organizations_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/orgs","repos_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/repos","events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/events{/privacy}","received_events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/received_events","type":"Organization","site_admin":false},"repo":{"id":148096362,"node_id":"MDEwOlJlcG9zaXRvcnkxNDgwOTYzNjI=","name":"main","full_name":"CS2103-AY1819S1-F10-2/main","private":false,"owner":{"login":"CS2103-AY1819S1-F10-2","id":43126278,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQzMTI2Mjc4","avatar_url":"https://avatars1.githubusercontent.com/u/43126278?v=4","gravatar_id":"","url":"https://api.github.com/users/CS2103-AY1819S1-F10-2","html_url":"https://github.com/CS2103-AY1819S1-F10-2","followers_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/followers","following_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/following{/other_user}","gists_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/gists{/gist_id}","starred_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/subscriptions","organizations_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/orgs","repos_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/repos","events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/events{/privacy}","received_events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/CS2103-AY1819S1-F10-2/main","description":"Loanbook: Loan efficiently","fork":true,"url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main","forks_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/forks","keys_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/teams","hooks_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/hooks","issue_events_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/events{/number}","events_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/events","assignees_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/assignees{/user}","branches_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/branches{/branch}","tags_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/tags","blobs_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/refs{/sha}","trees_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/statuses/{sha}","languages_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/languages","stargazers_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/stargazers","contributors_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/contributors","subscribers_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/subscribers","subscription_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/subscription","commits_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/commits{/sha}","git_commits_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/commits{/sha}","comments_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/comments{/number}","issue_comment_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/comments{/number}","contents_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/contents/{+path}","compare_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/merges","archive_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/downloads","issues_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues{/number}","pulls_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls{/number}","milestones_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/milestones{/number}","notifications_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/labels{/name}","releases_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/releases{/id}","deployments_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/deployments","created_at":"2018-09-10T03:52:54Z","updated_at":"2018-11-12T13:51:37Z","pushed_at":"2018-11-12T13:58:08Z","git_url":"git://github.com/CS2103-AY1819S1-F10-2/main.git","ssh_url":"git@github.com:CS2103-AY1819S1-F10-2/main.git","clone_url":"https://github.com/CS2103-AY1819S1-F10-2/main.git","svn_url":"https://github.com/CS2103-AY1819S1-F10-2/main","homepage":"https://cs2103-ay1819s1-f10-2.github.io/main/","size":17761,"stargazers_count":1,"watchers_count":1,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":6,"mirror_url":null,"archived":false,"open_issues_count":21,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":6,"open_issues":21,"watchers":1,"default_branch":"master"}},"base":{"label":"CS2103-AY1819S1-F10-2:master","ref":"master","sha":"16aca875a5e2a0d35a3516f67cbf1b2f15e9f96c","user":{"login":"CS2103-AY1819S1-F10-2","id":43126278,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQzMTI2Mjc4","avatar_url":"https://avatars1.githubusercontent.com/u/43126278?v=4","gravatar_id":"","url":"https://api.github.com/users/CS2103-AY1819S1-F10-2","html_url":"https://github.com/CS2103-AY1819S1-F10-2","followers_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/followers","following_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/following{/other_user}","gists_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/gists{/gist_id}","starred_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/subscriptions","organizations_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/orgs","repos_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/repos","events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/events{/privacy}","received_events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/received_events","type":"Organization","site_admin":false},"repo":{"id":148096362,"node_id":"MDEwOlJlcG9zaXRvcnkxNDgwOTYzNjI=","name":"main","full_name":"CS2103-AY1819S1-F10-2/main","private":false,"owner":{"login":"CS2103-AY1819S1-F10-2","id":43126278,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQzMTI2Mjc4","avatar_url":"https://avatars1.githubusercontent.com/u/43126278?v=4","gravatar_id":"","url":"https://api.github.com/users/CS2103-AY1819S1-F10-2","html_url":"https://github.com/CS2103-AY1819S1-F10-2","followers_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/followers","following_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/following{/other_user}","gists_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/gists{/gist_id}","starred_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/subscriptions","organizations_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/orgs","repos_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/repos","events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/events{/privacy}","received_events_url":"https://api.github.com/users/CS2103-AY1819S1-F10-2/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/CS2103-AY1819S1-F10-2/main","description":"Loanbook: Loan efficiently","fork":true,"url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main","forks_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/forks","keys_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/teams","hooks_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/hooks","issue_events_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/events{/number}","events_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/events","assignees_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/assignees{/user}","branches_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/branches{/branch}","tags_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/tags","blobs_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/refs{/sha}","trees_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/statuses/{sha}","languages_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/languages","stargazers_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/stargazers","contributors_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/contributors","subscribers_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/subscribers","subscription_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/subscription","commits_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/commits{/sha}","git_commits_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/git/commits{/sha}","comments_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/comments{/number}","issue_comment_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/comments{/number}","contents_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/contents/{+path}","compare_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/merges","archive_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/downloads","issues_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues{/number}","pulls_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls{/number}","milestones_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/milestones{/number}","notifications_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/labels{/name}","releases_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/releases{/id}","deployments_url":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/deployments","created_at":"2018-09-10T03:52:54Z","updated_at":"2018-11-12T13:51:37Z","pushed_at":"2018-11-12T13:58:08Z","git_url":"git://github.com/CS2103-AY1819S1-F10-2/main.git","ssh_url":"git@github.com:CS2103-AY1819S1-F10-2/main.git","clone_url":"https://github.com/CS2103-AY1819S1-F10-2/main.git","svn_url":"https://github.com/CS2103-AY1819S1-F10-2/main","homepage":"https://cs2103-ay1819s1-f10-2.github.io/main/","size":17761,"stargazers_count":1,"watchers_count":1,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":6,"mirror_url":null,"archived":false,"open_issues_count":21,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":6,"open_issues":21,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279"},"html":{"href":"https://github.com/CS2103-AY1819S1-F10-2/main/pull/279"},"issue":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/279"},"comments":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/issues/279/comments"},"review_comments":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279/comments"},"review_comment":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/pulls/279/commits"},"statuses":{"href":"https://api.github.com/repos/CS2103-AY1819S1-F10-2/main/statuses/5502a9021cd7c4926a0023655e159fdbf361f17f"}},"author_association":"NONE"}}
{"actor":{"display_login":"FongYuan"}}