Bugfix board

This commit is contained in:
kimyonghwa
2019-05-10 23:40:33 +09:00
parent 189e741ded
commit 2a0a9721ed
6 changed files with 38 additions and 16 deletions

View File

@@ -26,25 +26,29 @@ public class BoardService {
private final PostJpaRepo postJpaRepo;
private final UserJpaRepo userJpaRepo;
// 게시판 이름으로 게시판을 조회. 없을경우 CResourceNotExistException 처리
public Board findBoard(String boardName) {
return Optional.ofNullable(boardJpaRepo.findByName(boardName)).orElseThrow(CResourceNotExistException::new);
}
// 게시판 이름으로 게시물 리스트 조회.
public List<Post> findPosts(String boardName) {
Board board = findBoard(boardName);
return postJpaRepo.findByBoardId(board.getId());
return postJpaRepo.findByBoard(findBoard(boardName));
}
// 게시물ID로 게시물 단건 조회. 없을경우 CResourceNotExistException 처리
public Post getPost(long postId) {
return postJpaRepo.findById(postId).orElseThrow(CResourceNotExistException::new);
}
// 게시물을 등록합니다. 게시물의 회원UID가 조회되지 않으면 CUserNotFoundException 처리합니다.
public Post writePost(String uid, String boardName, ParamsPost paramsPost) {
Board board = findBoard(boardName);
Post post = new Post(userJpaRepo.findByUid(uid).orElseThrow(CUserNotFoundException::new), board.getId(), paramsPost.getAuthor(), paramsPost.getTitle(), paramsPost.getContent());
Post post = new Post(userJpaRepo.findByUid(uid).orElseThrow(CUserNotFoundException::new), board, paramsPost.getAuthor(), paramsPost.getTitle(), paramsPost.getContent());
return postJpaRepo.save(post);
}
// 게시물을 수정합니다. 게시물 등록자와 로그인 회원정보가 틀리면 CNotOwnerException 처리합니다.
public Post updatePost(long postId, String uid, ParamsPost paramsPost) {
Post post = getPost(postId);
User user = post.getUser();
@@ -55,6 +59,7 @@ public class BoardService {
return postJpaRepo.save(post);
}
// 게시물을 삭제합니다. 게시물 등록자와 로그인 회원정보가 틀리면 CNotOwnerException 처리합니다.
public boolean deletePost(long postId, String uid) {
Post post = getPost(postId);
User user = post.getUser();