diff --git a/backend/src/main/java/org/example/backend/board/domain/dto/BoardReqDto.java b/backend/src/main/java/org/example/backend/board/domain/dto/BoardReqDto.java index c188b1d1..3a144f6f 100644 --- a/backend/src/main/java/org/example/backend/board/domain/dto/BoardReqDto.java +++ b/backend/src/main/java/org/example/backend/board/domain/dto/BoardReqDto.java @@ -1,5 +1,6 @@ package org.example.backend.board.domain.dto; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.List; import lombok.AccessLevel; import lombok.Builder; @@ -12,16 +13,15 @@ public class BoardReqDto { private String title; private String content; private String writer; + @Schema(hidden = true) private List fileList; private String category; @Builder - private BoardReqDto(String title, String content, String writer, - List fileList, String category) { + private BoardReqDto(String title, String content, String writer, String category) { this.title = title; this.content = content; this.writer = writer; - this.fileList = fileList; this.category = category; } diff --git a/backend/src/main/java/org/example/backend/board/domain/entity/Category.java b/backend/src/main/java/org/example/backend/board/domain/entity/Category.java index d7575b86..897f70b6 100644 --- a/backend/src/main/java/org/example/backend/board/domain/entity/Category.java +++ b/backend/src/main/java/org/example/backend/board/domain/entity/Category.java @@ -1,5 +1,7 @@ package org.example.backend.board.domain.entity; +import java.util.Arrays; + public enum Category { undergraduate("학부"), graduate("대학원"), @@ -11,6 +13,11 @@ public enum Category { Category(String description) { this.description = description; } + + public static boolean contains(final String name) { + return Arrays.stream(Category.values()) + .anyMatch(o -> o.name().equals(name)); + } public String getDescription() { return description; } diff --git a/backend/src/main/java/org/example/backend/board/exception/BoardExceptionType.java b/backend/src/main/java/org/example/backend/board/exception/BoardExceptionType.java index b1a278c0..914ac42b 100644 --- a/backend/src/main/java/org/example/backend/board/exception/BoardExceptionType.java +++ b/backend/src/main/java/org/example/backend/board/exception/BoardExceptionType.java @@ -12,6 +12,7 @@ public enum BoardExceptionType implements BaseExceptionType { NOT_FOUND_BOARD(NOT_FOUND, "게시글을 찾을 수 없습니다"), REQUIRED_TITLE(BAD_REQUEST, "제목은 필수 입력값입니다."), REQUIRED_CONTENT(BAD_REQUEST, "내용은 필수 입력값입니다."), + REQUIRED_CATEGORY(BAD_REQUEST, "카티고리는 필수 입력값입니다"), REQUIRED_DEPARTMENT_ID(BAD_REQUEST, "부서 ID는 필수 입력값입니다."), REQUIRED_FILE(BAD_REQUEST, "파일이 비어 있습니다.") ; diff --git a/backend/src/main/java/org/example/backend/board/service/BoardService.java b/backend/src/main/java/org/example/backend/board/service/BoardService.java index 635c18b3..5d16e68a 100644 --- a/backend/src/main/java/org/example/backend/board/service/BoardService.java +++ b/backend/src/main/java/org/example/backend/board/service/BoardService.java @@ -14,9 +14,7 @@ import org.example.backend.board.repository.BoardRepository; import org.example.backend.global.config.aws.S3Uploader; import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -47,6 +45,9 @@ private void validateUserRequiredFields(BoardReqDto dto) { if (dto.getContent() == null || dto.getContent().isEmpty()) { throw new BoardException(BoardExceptionType.REQUIRED_CONTENT); } + if (dto.getCategory() == null || dto.getCategory().isEmpty() || !Category.contains(dto.getCategory())) { + throw new BoardException(BoardExceptionType.REQUIRED_CATEGORY); + } } public BoardResDto getBoard(Long boardId) { diff --git a/backend/src/main/java/org/example/backend/professor/domain/dto/professor/ProfessorReqDto.java b/backend/src/main/java/org/example/backend/professor/domain/dto/professor/ProfessorReqDto.java index ea0940fc..c434c4cd 100644 --- a/backend/src/main/java/org/example/backend/professor/domain/dto/professor/ProfessorReqDto.java +++ b/backend/src/main/java/org/example/backend/professor/domain/dto/professor/ProfessorReqDto.java @@ -31,12 +31,12 @@ public class ProfessorReqDto { @Schema(description = "교수 연구실 위치", example = "충무관 1128호") private String lab; - @Schema(description = "교수 프로필 이미지", example = "https://www.sju.ac.kr/professor/example/profile.jpg") + @Schema(hidden = true) private String profileImage; @Builder private ProfessorReqDto(String name, String major, String phoneN, String email, - String position, String homepage, String lab, String profileImage) { + String position, String homepage, String lab) { this.name = name; this.major = major; this.phoneN = phoneN; @@ -44,11 +44,10 @@ private ProfessorReqDto(String name, String major, String phoneN, String email, this.position = position; this.homepage = homepage; this.lab = lab; - this.profileImage = profileImage; } public static ProfessorReqDto of(String name, String major, String phoneN, String email, - String position, String homepage, String lab, String profileImage) { + String position, String homepage, String lab) { return ProfessorReqDto.builder() .name(name) .major(major) @@ -57,7 +56,6 @@ public static ProfessorReqDto of(String name, String major, String phoneN, Strin .position(position) .homepage(homepage) .lab(lab) - .profileImage(profileImage) .build(); } diff --git a/backend/src/main/java/org/example/backend/thesis/domain/dto/ThesisReqDto.java b/backend/src/main/java/org/example/backend/thesis/domain/dto/ThesisReqDto.java index 5ec18966..6b2cbf53 100644 --- a/backend/src/main/java/org/example/backend/thesis/domain/dto/ThesisReqDto.java +++ b/backend/src/main/java/org/example/backend/thesis/domain/dto/ThesisReqDto.java @@ -1,5 +1,6 @@ package org.example.backend.thesis.domain.dto; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; @@ -13,6 +14,7 @@ public class ThesisReqDto { private String content; private String link; private String publicationDate; + @Schema(hidden = true) private String thesisImage; private String publicationCollection; private String publicationIssue; @@ -22,14 +24,13 @@ public class ThesisReqDto { @Builder private ThesisReqDto(String author, String journal, String content, String link, - String publicationDate, String thesisImage, String publicationCollection, + String publicationDate, String publicationCollection, String publicationIssue, String publicationPage, String issn, Long professorId) { this.author = author; this.journal = journal; this.content = content; this.link = link; this.publicationDate = publicationDate; - this.thesisImage = thesisImage; this.publicationCollection = publicationCollection; this.publicationIssue = publicationIssue; this.publicationPage = publicationPage; @@ -38,7 +39,7 @@ private ThesisReqDto(String author, String journal, String content, String link, } public static ThesisReqDto of(String author, String journal, String content, String link, - String publicationDate, String thesisImage, String publicationCollection, + String publicationDate, String publicationCollection, String publicationIssue, String publicationPage, String issn, Long professorId) { return ThesisReqDto.builder() .author(author) @@ -46,7 +47,6 @@ public static ThesisReqDto of(String author, String journal, String content, Str .content(content) .link(link) .publicationDate(publicationDate) - .thesisImage(thesisImage) .publicationCollection(publicationCollection) .publicationIssue(publicationIssue) .publicationPage(publicationPage)