Skip to content

Commit

Permalink
Merge pull request #79 from IT-Cotato/bugfix/72
Browse files Browse the repository at this point in the history
[Bugfix] 게시판 관련 버그 수정
  • Loading branch information
u-genuine authored Feb 10, 2025
2 parents 5b15ae8 + 3252065 commit b387ae8
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import com.cotato.kampus.domain.board.dao.BoardRepository;
import com.cotato.kampus.domain.board.domain.Board;
import com.cotato.kampus.domain.board.enums.BoardStatus;

import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
Expand All @@ -22,6 +23,7 @@ public Long appendBoard(String boardName, String description, Long universityId,
.description(description)
.universityId(universityId)
.isCategoryRequired(isCategoryRequired)
.boardStatus(BoardStatus.ACTIVE)
.build();

return boardRepository.save(board).getId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public List<BoardWithFavoriteStatusDto> getFavoriteBoardList() {

public Long addFavoriteBoard(Long boardId) {
// 게시판이 존재하는지 확인
boardValidator.validateBoardExists(boardId);
boardValidator.validateBoardExistsAndActive(boardId);

// 즐겨찾기 추가
return boardFavoriteAppender.appendFavoriteBoard(boardId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import org.springframework.transaction.annotation.Transactional;

import com.cotato.kampus.domain.board.dao.BoardRepository;
import com.cotato.kampus.domain.board.dto.BoardDto;
import com.cotato.kampus.domain.board.enums.BoardStatus;
import com.cotato.kampus.global.error.ErrorCode;
import com.cotato.kampus.global.error.exception.AppException;

Expand All @@ -15,10 +17,15 @@
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
public class BoardValidator {
private final BoardRepository boardRepository;
private final BoardFinder boardFinder;

public void validateBoardExists(Long boardId){
public void validateBoardExistsAndActive(Long boardId){
if(!boardRepository.existsById(boardId))
throw new AppException(ErrorCode.BOARD_NOT_FOUND);

BoardDto boardDto = boardFinder.findBoard(boardId);
if(boardDto.boardStatus()!= BoardStatus.ACTIVE)
throw new AppException(ErrorCode.BOARD_NOT_VALIDATE);
}

public void validateUniversityBoardExists(Long universityId){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,12 @@ public class Board extends BaseTimeEntity {
private BoardStatus boardStatus;

@Builder
public Board(String boardName, String description, Long universityId, Boolean isCategoryRequired) {
public Board(String boardName, String description, Long universityId, Boolean isCategoryRequired, BoardStatus boardStatus) {
this.boardName = boardName;
this.description = description;
this.universityId = universityId;
this.isCategoryRequired = isCategoryRequired;
this.boardStatus = boardStatus;
}

public void update(String boardName, String description, Boolean isCategoryRequired) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import com.cotato.kampus.domain.board.application.BoardValidator;
import com.cotato.kampus.domain.common.application.ApiUserResolver;
import com.cotato.kampus.domain.common.application.ImageValidator;
import com.cotato.kampus.domain.post.dto.AnonymousOrPostAuthor;
Expand Down Expand Up @@ -50,6 +51,7 @@ public class PostService {
private final PostValidator postValidator;

private static final String POST_IMAGE_FOLDER = "post";
private final BoardValidator boardValidator;

@Transactional
public Long createPost(
Expand All @@ -71,6 +73,9 @@ public Long createPost(
List.of() :
s3Uploader.uploadFiles(validImages, POST_IMAGE_FOLDER);

// 게시판 유표성 검증
boardValidator.validateBoardExistsAndActive(boardId);

// 게시글 추가
Long postId = postAppender.append(userId, boardId, title, content, postCategory);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public enum ErrorCode {
UNIVERSITY_BOARD_DUPLICATED(HttpStatus.CONFLICT, "이미 해당 대학 게시판이 존재합니다.", "BOARD-004"),
BOARD_ALREADY_INACTIVE(HttpStatus.CONFLICT, "이미 게시판이 비활성화 상태입니다.", "BOARD-005"),
BOARD_ALREADY_ACTIVE(HttpStatus.CONFLICT, "이미 게시판이 활성화 상태입니다.", "BOARD-006"),
BOARD_NOT_VALIDATE(HttpStatus.BAD_REQUEST, "게시판이 유효하지 않습니다.", "BOARD-007"),

//University
UNIVERSITY_NOT_FOUND(HttpStatus.NOT_FOUND, "해당 대학을 찾을 수 없습니다.", "UNIVERSITY-001"),
Expand Down

0 comments on commit b387ae8

Please sign in to comment.