{"action":"closed","issue":{"url":"https://api.github.com/repos/miconblog/devcafe/issues/4","labels_url":"https://api.github.com/repos/miconblog/devcafe/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/miconblog/devcafe/issues/4/comments","events_url":"https://api.github.com/repos/miconblog/devcafe/issues/4/events","html_url":"https://github.com/miconblog/devcafe/issues/4","id":77603430,"number":4,"title":"로그인 하면 내가 글을 쓸 수 있는 게시판이 보여야한다.","user":{"login":"miconblog","id":1381312,"avatar_url":"https://avatars.githubusercontent.com/u/1381312?v=3","gravatar_id":"","url":"https://api.github.com/users/miconblog","html_url":"https://github.com/miconblog","followers_url":"https://api.github.com/users/miconblog/followers","following_url":"https://api.github.com/users/miconblog/following{/other_user}","gists_url":"https://api.github.com/users/miconblog/gists{/gist_id}","starred_url":"https://api.github.com/users/miconblog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miconblog/subscriptions","organizations_url":"https://api.github.com/users/miconblog/orgs","repos_url":"https://api.github.com/users/miconblog/repos","events_url":"https://api.github.com/users/miconblog/events{/privacy}","received_events_url":"https://api.github.com/users/miconblog/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/miconblog/devcafe/labels/%EA%B0%9C%EB%B0%9C%ED%95%B4%EC%95%BC%20%ED%95%A0%20%EA%B8%B0%EB%8A%A5","name":"개발해야 할 기능","color":"0052cc"}],"state":"closed","locked":false,"assignee":{"login":"miconblog","id":1381312,"avatar_url":"https://avatars.githubusercontent.com/u/1381312?v=3","gravatar_id":"","url":"https://api.github.com/users/miconblog","html_url":"https://github.com/miconblog","followers_url":"https://api.github.com/users/miconblog/followers","following_url":"https://api.github.com/users/miconblog/following{/other_user}","gists_url":"https://api.github.com/users/miconblog/gists{/gist_id}","starred_url":"https://api.github.com/users/miconblog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miconblog/subscriptions","organizations_url":"https://api.github.com/users/miconblog/orgs","repos_url":"https://api.github.com/users/miconblog/repos","events_url":"https://api.github.com/users/miconblog/events{/privacy}","received_events_url":"https://api.github.com/users/miconblog/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/miconblog/devcafe/milestones/1","html_url":"https://github.com/miconblog/devcafe/milestones/MVP%20v.0.1.0","labels_url":"https://api.github.com/repos/miconblog/devcafe/milestones/1/labels","id":1110150,"number":1,"title":"MVP v.0.1.0","description":"- 회원가입시 패스워드를 변경할 수 있어야한다.\r\n- 회원 가입후 게시판에 글을 쓸 수 있어야한다. \r\n- 모든 회원은 접근 가능한 게시판이 최소 2개 이상 존재 해야한다.\r\n  - 전체 게시판과 사내 게시판  \r\n","creator":{"login":"miconblog","id":1381312,"avatar_url":"https://avatars.githubusercontent.com/u/1381312?v=3","gravatar_id":"","url":"https://api.github.com/users/miconblog","html_url":"https://github.com/miconblog","followers_url":"https://api.github.com/users/miconblog/followers","following_url":"https://api.github.com/users/miconblog/following{/other_user}","gists_url":"https://api.github.com/users/miconblog/gists{/gist_id}","starred_url":"https://api.github.com/users/miconblog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miconblog/subscriptions","organizations_url":"https://api.github.com/users/miconblog/orgs","repos_url":"https://api.github.com/users/miconblog/repos","events_url":"https://api.github.com/users/miconblog/events{/privacy}","received_events_url":"https://api.github.com/users/miconblog/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":3,"state":"open","created_at":"2015-05-14T12:41:12Z","updated_at":"2015-05-21T08:59:30Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-05-18T10:40:18Z","updated_at":"2015-05-21T08:59:30Z","closed_at":"2015-05-21T08:59:30Z","body":"이번 버전에서 제공되는 게시판은 전체 게시판과 사내 게시판이다. \r\n내가 쓸 수 있는 게시판 목록이 보이려면 게시판과 사용자를 엮는 관계가 필요하다. \r\n정리하면 아래와 같은 단계를 거쳐야한다. \r\n\r\n1. 모든 회사가 접근 가능한 전체 게시판과 특정 회사만 접근할수있는 사내 게시판은 운영자가 미리 생성한다. \r\n  - 이번 버전은 그냥 하드 코딩으로 게시판 두개를 미리 생성한다. \r\n2. 회사 게시판 접근시 사용자의 회사ID를 확인해서 접근불가 페이지로 Redirect 시킨다. \r\n\r\n샘플 모델링 \r\n1. 회사는 여러명의 사원을 가지지만 회사가 망해도 사원은 죽지 않는다. Company.hasMany(Member)\r\n2. 회사는 여러개의 게시판을 가진지만 회사가 망해도 게시판은 보관한다. Company.hasMany(Board)\r\n3. 게시판은 여러개의 게시글을 가지고 게시판이 사라지면 해당 게시글도 모두 사라진다.  Board.hasMany(Post, {onDelete: 'cascade'})\r\n4. 게시글은 여러개의 댓글을 가지고 게시글이 사라지면 해당 댓글도 모두 사라진다.  Post.hasMany(Comment, {onDelete: 'cascade'})\r\n5. 게시글은 작성자가 존재한다. 회원이 삭제되도 게시글은 유지된다.  Post.belongsTo(Member);\r\n6. 댓글은 작성자가 존재한다. 회원이 삭제되도 댓글은 유지된다. Comment.belongsTo(Member)"}}