Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
ab79baf
[refactor] dummy class delete (#171)
seongjunnoh Aug 8, 2025
f0d656a
[feat] 오늘의 한마디 작성 use case 추가 (#171)
seongjunnoh Aug 8, 2025
64416f8
[feat] 오늘의 한마디 작성 use case 구현 (#171)
seongjunnoh Aug 8, 2025
77aa623
[feat] 출석체크 도메인 내부에 팩토리 메서드 추가 (#171)
seongjunnoh Aug 8, 2025
68401f1
[feat] 생성한 출석체크 도메인 저장 로직 구현 (#171)
seongjunnoh Aug 8, 2025
1319c76
[feat] 오늘의 한마디 api 웹 어댑터 계층 코드 구현 (#171)
seongjunnoh Aug 8, 2025
0ac3659
[docs] 오늘의 한마디 api 스웨거 description 작성 (#171)
seongjunnoh Aug 8, 2025
5b0c8ba
[test] 오늘의 한마디 controller 단위 테스트 코드 작성 (#171)
seongjunnoh Aug 8, 2025
d7e603b
[test] 오늘의 한마디 api 통합 테스트 코드 작성 (#171)
seongjunnoh Aug 8, 2025
4fdc327
Merge remote-tracking branch 'origin' into feat/#171-create-and-show-…
seongjunnoh Aug 8, 2025
e8fbc02
[docs] 오늘의 한마디 api 스웨거 error 명세 추가 (#171)
seongjunnoh Aug 9, 2025
70c30c1
[refactor] 방생성 api service 코드 수정 (#181)
seongjunnoh Aug 10, 2025
0163960
[test] 방생성 api 통합 테스트 코드 수정 (#181)
seongjunnoh Aug 10, 2025
dad52a6
[refactor] 투표 생성 시 userPercentage, roomPercentage 값 업데이트하도록 로직 수정 (#181)
seongjunnoh Aug 10, 2025
1afa3e2
[refactor] 기존 테스트 코드를 투표 생성 controller 단위 테스트, api 통합 테스트 코드로 분리 (#181)
seongjunnoh Aug 10, 2025
d8674b9
[test] 투표 생성 시 DB에 userPercentage, roomPercentage 값 잘 업데이트 되는지 확인하는 서…
seongjunnoh Aug 10, 2025
9b3253e
[feat] 관련 에러코드 추가 (#88)
hd0rable Aug 11, 2025
1dfd597
[feat] 관련 에러코드 스웨거 추가 (#88)
hd0rable Aug 11, 2025
0109487
[feat] 투표 삭제 권한 검증 투표 도메인 관련 함수 추가 (#188)
hd0rable Aug 11, 2025
08b0407
[feat] 투표 삭제 컨트롤러 작성 (#188)
hd0rable Aug 11, 2025
495adfc
[feat] VoteCommandPersistenceAdapter.delete 작성 (#188)
hd0rable Aug 11, 2025
126a53f
[feat] VoteCommandPort.delete 작성 (#188)
hd0rable Aug 11, 2025
35e92f9
[feat] VoteDeleteCommand dto 작성 (#188)
hd0rable Aug 11, 2025
323f51c
[feat] VoteDeleteResponse dto 작성 (#188)
hd0rable Aug 11, 2025
75f7d21
[feat] VoteDeleteService.deleteVote 작성 (#188)
hd0rable Aug 11, 2025
05801f3
[feat] VoteDeleteUseCase.deleteVote 작성 (#188)
hd0rable Aug 11, 2025
264d455
[feat] VoteItemJpaRepository.deleteAllByVoteId 작성 (#188)
hd0rable Aug 11, 2025
656c5df
[feat] 테스트용 updateCommentCount 작성 (#188)
hd0rable Aug 11, 2025
8caf81f
[feat] VoteJpaRepository.findByPostIdAndStatus 작성 (#188)
hd0rable Aug 11, 2025
9ace812
[feat] VoteParticipantJpaRepository.deleteAllByVoteId 작성 (#188)
hd0rable Aug 11, 2025
38ced96
[remove] 더미파일 삭제 (#188)
hd0rable Aug 11, 2025
961e588
[test] 투표 단위 도메인 테스트 코드 추가 (#188)
hd0rable Aug 11, 2025
8414d0c
[test] 투표 삭제 통합 테스트 코드 작성 (#188)
hd0rable Aug 11, 2025
86a08d3
[test] 투표 항목 테스트 팩토리 메서드 작성 (#188)
hd0rable Aug 11, 2025
6eedfbf
[test] 설명 오타 쉊ㅇ (#188)
hd0rable Aug 11, 2025
b4b564d
[test] 누락된 게시글 좋아요 검증 (#188)
hd0rable Aug 11, 2025
1c65217
[fix] 소프트 딜리트 되는 대상 액티브한 엔티티 조회로 수정 (#188)
hd0rable Aug 11, 2025
e6f95a9
[fix] import 수정 (#188)
hd0rable Aug 11, 2025
901f29d
[refactor] 서브쿼리로 수정 (#188)
hd0rable Aug 11, 2025
a096083
Merge remote-tracking branch 'origin' into feat/#171-create-attendanc…
seongjunnoh Aug 12, 2025
36589ac
[move] attendanceCheck 패키지의 모든 파일을 room 패키지 하위로 이동 (#171)
seongjunnoh Aug 12, 2025
58915dc
[chore] 일시적 develop 브랜치 운영서버 머지 허용 (#161)
hd0rable Aug 13, 2025
7e3cefc
Merge remote-tracking branch 'origin/develop' into feat/#188-vote-delete
hd0rable Aug 13, 2025
324a65e
Merge remote-tracking branch 'origin/develop' into feat/#188-vote-delete
hd0rable Aug 13, 2025
d02b355
[refactor] 바뀐 요구사항에 따라 오늘의 한마디 작성 api service 코드 수정 (#171)
seongjunnoh Aug 13, 2025
37e98af
[refactor] AttendanceCheck 도메인 생성 시 검증을 수행하도록 도메인 규칙 코드 추가 (#171)
seongjunnoh Aug 13, 2025
298e3cc
[refactor] 바뀐 요구사항에 따라 use case 수정 및 result dto 추가 (#171)
seongjunnoh Aug 13, 2025
cdeff6f
[refactor] 바뀐 요구사항에 따라 response dto 수정 (#171)
seongjunnoh Aug 13, 2025
243fd73
[feat] 유저가 오늘 하루동안 오늘의 한마디를 몇개 작성하였는지 계산하는 코드 추가 (#171)
seongjunnoh Aug 13, 2025
c86d2f9
[feat] 오늘의 한마디 작성 제한 조건이 추가됨에 따라, error code 추가 및 swagger 명세 추가 (#171)
seongjunnoh Aug 13, 2025
5aded9c
[refactor] 요구사항이 수정됨에 따라 오늘의 한마디 작성 api 통합 테스트 코드 수정 (#171)
seongjunnoh Aug 13, 2025
85b9303
[test] AttendanceCheck 도메인 단위 테스트 코드 작성 (#171)
seongjunnoh Aug 13, 2025
5c8ae44
Merge remote-tracking branch 'origin' into feat/#171-create-attendanc…
seongjunnoh Aug 13, 2025
4a095b4
Merge pull request #221 from THIP-TextHip/main
seongjunnoh Aug 13, 2025
80172ba
[hotfix] 댓글조회시 isisWriter 필드 추가 (#161)
hd0rable Aug 14, 2025
f093c0c
[hotfix] 댓글조회시 isisWriter 필드 추가 (#161)
hd0rable Aug 14, 2025
64b64d3
[fix] profile에 따른 스웨거 request URL 동적 변경 (#210)
buzz0331 Aug 14, 2025
de637f7
[fix] nickname nullable 불가 (#210)
buzz0331 Aug 14, 2025
2b37ed0
[fix] 회원가입 이후에는 닉네임 변경 가능하도록 수정 (#210)
buzz0331 Aug 14, 2025
cc28a24
[fix] 투표하기 반환값 수정 (#210)
buzz0331 Aug 14, 2025
d9e2eb8
[test] 투표하기 반환값 수정에 다른 테스트코드 수정 (#210)
buzz0331 Aug 14, 2025
5d5f23f
[refactor] RoomParticipant 도메인 생성을 위한 팩토리 메서드를 member 생성용, host 생성용으로…
seongjunnoh Aug 14, 2025
1d110f3
[refactor] RoomParticipant를 생성하려는 목적에 따라 다른 팩토리 메서드를 호출하도록 코드 수정 (#181)
seongjunnoh Aug 14, 2025
db185f3
[refactor] VoteItem 도메인 생성시 count값을 0으로 초기화하도록 팩토리 메서드 수정 (#181)
seongjunnoh Aug 14, 2025
34e46ae
[feat] 방 참여자의 활동 이후, 방 참여자와 방의 progress 값 업데이트를 위한 헬퍼 서비스 추가 (#181)
seongjunnoh Aug 14, 2025
f2c3faf
[refactor] 헬퍼 서비스 도입에 따라 기존 기록, 투표 생성 서비스 코드 수정 (#181)
seongjunnoh Aug 14, 2025
ef2444b
[refactor] 투표 생성 api 서비스 테스트 코드에서 progress 값 검증코드 수정 (#181)
seongjunnoh Aug 14, 2025
691e99e
develop merge
seongjunnoh Aug 14, 2025
87ac1af
[refactor] 패키지 네이밍 수정 attendanceCheck -> attendancecheck (#171)
seongjunnoh Aug 14, 2025
b21077d
[refactor] 유저가 특정 방에서 작성한 오늘의 한마디를 조회하도록 수정 (#171)
seongjunnoh Aug 14, 2025
155259b
[refactor] 유저가 특정 방에서 오늘 하루동안 작성한 ACTIVE 상태인 오늘의 한마디 개수를 조회할 수 있도록 jp…
seongjunnoh Aug 14, 2025
469bf49
[test] 투표하기 validation 테스트 추가 (#210)
buzz0331 Aug 14, 2025
a4254dd
[fix] 회원가입 닉네임 예시 수정 및 pattern 수정 (#210)
buzz0331 Aug 14, 2025
106b776
[fix] withoutId 내부에서 null 주입 (#210)
buzz0331 Aug 14, 2025
bdc6792
[fix] 투표 아이템 정렬 (#210)
buzz0331 Aug 14, 2025
00803c3
[fix] 투표 아이템 정렬 (#210)
buzz0331 Aug 14, 2025
f2bfe14
Merge pull request #180 from THIP-TextHip/feat/#171-create-attendance…
seongjunnoh Aug 14, 2025
3cc47d5
[refactor] helper service 어노테이션으로 수정 (#181)
seongjunnoh Aug 14, 2025
3b7cbc5
[refactor] helper service 에 transactional 어노테이션 삭제 (#181)
seongjunnoh Aug 14, 2025
a9a1faf
Merge pull request #183 from THIP-TextHip/refactor/#181-modifiy-pre-a…
seongjunnoh Aug 14, 2025
e3c70ec
Merge pull request #224 from THIP-TextHip/hotfix/#210-signup
buzz0331 Aug 14, 2025
d75fd8f
Merge remote-tracking branch 'origin' into hotfix/#220-iswriter
seongjunnoh Aug 14, 2025
c5123bf
[refactor] CommentQueryDto 에서 isWriter 필드 삭제 (#220)
seongjunnoh Aug 14, 2025
9e24112
[refactor] 댓글 조회 영속성 코드에서 isWriter 전부 삭제 (#220)
seongjunnoh Aug 14, 2025
ed29539
[refactor] 댓글 조회 service 코드 수정 (#220)
seongjunnoh Aug 14, 2025
e92beaf
[refactor] CommentQueryMapper 에서 dto -> response 반환시에 isWriter 값 세팅하도…
seongjunnoh Aug 14, 2025
b07fb21
[refactor] FeedQueryDto 에서 isWriter 삭제 (#220)
seongjunnoh Aug 14, 2025
9340019
[refactor] isWriter를 위해 추가한 userId 파라미터 제거 (#220)
seongjunnoh Aug 14, 2025
acaf637
[refactor] 피드 관련 QueryDSL 코드에서 isWriter 관련 코드 삭제 (#220)
seongjunnoh Aug 14, 2025
a19022f
[refactor] 피드 조회 관련 서비스 코드 수정 (#220)
seongjunnoh Aug 14, 2025
0b134e2
[refactor] FeedQueryMapper 에서 dto -> response 로 매핑할때 isWriter 값 세팅하도록…
seongjunnoh Aug 14, 2025
5af8cf4
Merge pull request #223 from THIP-TextHip/hotfix/#220-iswriter
seongjunnoh Aug 14, 2025
c65c23b
[refactor] 도커 이미지 빌드시 JAVA 메모리 옵션 추가 (#225)
buzz0331 Aug 14, 2025
661ec89
[refactor] instance of를 모두 dtype을 통한 분류로 수정 (#225)
buzz0331 Aug 14, 2025
05f4e53
Merge remote-tracking branch 'origin' into feat/#188-vote-delete
seongjunnoh Aug 14, 2025
82c4a6b
Merge pull request #192 from THIP-TextHip/feat/#188-vote-delete
seongjunnoh Aug 14, 2025
4108949
[refactor] merge (#225)
buzz0331 Aug 14, 2025
082151c
[refactor] 헬퍼 서비스로 분리 (#225)
buzz0331 Aug 14, 2025
69c8047
[refactor] isOverview 반환 (#225)
buzz0331 Aug 14, 2025
0d9b6b4
[refactor] DateUtil import (#225)
buzz0331 Aug 14, 2025
9b3d86b
Merge pull request #226 from THIP-TextHip/refactor/#225-get-record
buzz0331 Aug 15, 2025
028c8c4
[refactor] 모집중인 방 검색 api response 수정 (#65)
seongjunnoh Aug 16, 2025
a5cbf03
[refactor] 모집중인 방 검색 api controller 수정 (#65)
seongjunnoh Aug 16, 2025
a230c2c
[refactor] 모집중인 방 검색 api use case 수정 및 query dto 추가 (#65)
seongjunnoh Aug 16, 2025
1dcc9e7
[move] 방 검색 시 param 검증용 enum 파일 위치 이동 (#65)
seongjunnoh Aug 16, 2025
37e0028
[refactor] 방 검색을 위한 RoomQueryPort 메서드 수정 (#65)
seongjunnoh Aug 16, 2025
b71d9b6
[refactor] 방 검색을 위한 QueryDSL 코드 수정 (#65)
seongjunnoh Aug 16, 2025
be5a5b7
[refactor] RoomQueryDto 수정 (#65)
seongjunnoh Aug 16, 2025
d437c42
[refactor] RoomQueryPersistenceAdapter 수정 (#65)
seongjunnoh Aug 16, 2025
b76eca0
[refactor] RoomJpaEntity 와 연관되는 BookJpaEntity 를 nullable = false로 지정 …
seongjunnoh Aug 16, 2025
48c8518
[refactor] 방 검색 api service 코드 수정 (#65)
seongjunnoh Aug 16, 2025
6ce03aa
[refactor] 방 검색 api dto -> response mapper 수정 (#65)
seongjunnoh Aug 16, 2025
e5d8272
[refactor] 방 검색 api 스웨거 docs 수정 (#65)
seongjunnoh Aug 16, 2025
4276ff8
[refactor] 방 검색 api 통합 테스트 코드 수정 및 테스트 케이스 추가 (#65)
seongjunnoh Aug 16, 2025
ad4419d
[refactor] 내가 참여한 방 목록 조회 api response 네이밍 수정 (#65)
seongjunnoh Aug 16, 2025
f3cb1bd
Merge remote-tracking branch 'origin' into hotfix/#65-room-search
seongjunnoh Aug 16, 2025
d9d9073
[docs] 검색 QueryDSL 코드 TODO 주석 처리 (#65)
seongjunnoh Aug 16, 2025
bf32aa8
Merge pull request #231 from THIP-TextHip/hotfix/#65-room-search
seongjunnoh Aug 16, 2025
0d828f6
[fix] 피드 단일 조회 response 에 bookTitle 추가 (#232)
seongjunnoh Aug 16, 2025
9677020
[docs] 방 검색 api 스웨거 description 오타 수정 (#232)
seongjunnoh Aug 16, 2025
9d3a218
Merge pull request #233 from THIP-TextHip/hotfix/#232-feed-show-singl…
seongjunnoh Aug 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/cd-workflow-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- 'main'
- 'develop'

permissions:
contents: read
Expand Down
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
FROM openjdk:17

ARG PORT=8000
ENV JAVA_TOOL_OPTIONS="-Xms512m -Xmx2g -XX:+ExitOnOutOfMemoryError"

EXPOSE ${PORT}

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public record RootCommentDto(
int likeCount,
boolean isLike,
boolean isDeleted, // 삭제된 댓글인지 아닌지
boolean isWriter,
List<ReplyDto> replyList
) {
public record ReplyDto(
Expand All @@ -32,7 +33,8 @@ public record ReplyDto(
String postDate, // 댓글 작성 시각 (~ 전 형식)
String content,
int likeCount,
boolean isLike
boolean isLike,
boolean isWriter
) {}

/**
Expand All @@ -52,6 +54,7 @@ public static RootCommentDto createDeletedRootCommentDto(List<ReplyDto> replyLis
0,
false,
true, // true
false,
replyList);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,37 +24,45 @@ public interface CommentQueryMapper {
@Mapping(target = "isDeleted", constant = "false")
@Mapping(target = "postDate", expression = "java(DateUtil.formatBeforeTime(root.createdAt()))")
@Mapping(target = "aliasName", source = "root.alias")
CommentForSinglePostResponse.RootCommentDto toRoot(CommentQueryDto root, @Context Set<Long> likedCommentIds);
@Mapping(target = "isWriter", source = "root.creatorId", qualifiedByName = "isWriter")
CommentForSinglePostResponse.RootCommentDto toRoot(CommentQueryDto root, @Context Set<Long> likedCommentIds, @Context Long userId);

/**
* 개별 답글 매핑
*/
@Mapping(target = "isLike", expression = "java(likedCommentIds.contains(child.commentId()))")
@Mapping(target = "postDate", expression = "java(DateUtil.formatBeforeTime(child.createdAt()))")
@Mapping(target = "aliasName", source = "child.alias")
CommentForSinglePostResponse.RootCommentDto.ReplyDto toReply(CommentQueryDto child, @Context Set<Long> likedCommentIds);
@Mapping(target = "isWriter", source = "child.creatorId", qualifiedByName = "isWriter")
CommentForSinglePostResponse.RootCommentDto.ReplyDto toReply(CommentQueryDto child, @Context Set<Long> likedCommentIds, @Context Long userId);

/**
* 답글 리스트 헬퍼
*/
default List<CommentForSinglePostResponse.RootCommentDto.ReplyDto> mapReplies(List<CommentQueryDto> children, @Context Set<Long> likedCommentIds) {
default List<CommentForSinglePostResponse.RootCommentDto.ReplyDto> mapReplies(List<CommentQueryDto> children, @Context Set<Long> likedCommentIds, @Context Long userId) {
if (children == null || children.isEmpty()) {
return Collections.emptyList();
}
return children.stream()
.map(child -> toReply(child, likedCommentIds))
.map(child -> toReply(child, likedCommentIds, userId))
.toList();
}

default CommentForSinglePostResponse.RootCommentDto toRootCommentResponseWithChildren(CommentQueryDto root, List<CommentQueryDto> children, @Context Set<Long> likedCommentIds) {
List<CommentForSinglePostResponse.RootCommentDto.ReplyDto> replyDtos = mapReplies(children, likedCommentIds);
default CommentForSinglePostResponse.RootCommentDto toRootCommentResponseWithChildren(
CommentQueryDto root, List<CommentQueryDto> children, @Context Set<Long> likedCommentIds, @Context Long userId) {
List<CommentForSinglePostResponse.RootCommentDto.ReplyDto> replyDtos = mapReplies(children, likedCommentIds, userId);

if (root.isDeleted()) { // 삭제된 루트 & children 이 존재하는 경우
return CommentForSinglePostResponse.RootCommentDto.createDeletedRootCommentDto(replyDtos);
}

CommentForSinglePostResponse.RootCommentDto rootDto = toRoot(root, likedCommentIds);
CommentForSinglePostResponse.RootCommentDto rootDto = toRoot(root, likedCommentIds, userId);
rootDto.replyList().addAll(replyDtos);
return rootDto;
}

@Named("isWriter")
default boolean isWriter(Long creatorId, @Context Long userId) {
return creatorId != null && creatorId.equals(userId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public CommentForSinglePostResponse showAllCommentsOfPost(CommentShowAllQuery qu
Set<Long> likedCommentIds = commentLikeQueryPort.findCommentIdsLikedByUser(allCommentIds, query.userId());

// 4. response 매핑
List<CommentForSinglePostResponse.RootCommentDto> rootCommentResponses = buildRootCommentResponses(rootsInOrder, childrenMap, likedCommentIds);
List<CommentForSinglePostResponse.RootCommentDto> rootCommentResponses = buildRootCommentResponses(rootsInOrder, childrenMap, likedCommentIds, query.userId());

return new CommentForSinglePostResponse(
rootCommentResponses,
Expand All @@ -66,15 +66,16 @@ private Set<Long> parseAllCommentIds(Map<Long, List<CommentQueryDto>> childrenMa
private List<CommentForSinglePostResponse.RootCommentDto> buildRootCommentResponses(
List<CommentQueryDto> roots,
Map<Long, List<CommentQueryDto>> childrenMap,
Set<Long> likedCommentIds) {
Set<Long> likedCommentIds,
Long userId) {
List<CommentForSinglePostResponse.RootCommentDto> responses = new ArrayList<>();
for (CommentQueryDto root : roots) {
List<CommentQueryDto> children = childrenMap.getOrDefault(root.commentId(), Collections.emptyList());
// 삭제된 루트 댓글이면서 자식이 없는 경우 건너뛰기
if (root.isDeleted() && children.isEmpty()) {
continue;
}
responses.add(commentQueryMapper.toRootCommentResponseWithChildren(root, children, likedCommentIds));
responses.add(commentQueryMapper.toRootCommentResponseWithChildren(root, children, likedCommentIds, userId));
}
return responses;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ public enum ErrorCode implements ResponseCode {
VOTE_NOT_FOUND(HttpStatus.NOT_FOUND, 110000, "존재하지 않는 VOTE 입니다."),
VOTE_CANNOT_BE_OVERVIEW(HttpStatus.BAD_REQUEST, 110001, "총평이 될 수 없는 VOTE 입니다."),
INVALID_VOTE_PAGE_RANGE(HttpStatus.BAD_REQUEST, 110002, "VOTE의 page 값이 유효하지 않습니다."),
VOTE_ACCESS_FORBIDDEN(HttpStatus.FORBIDDEN, 110003, "투표 접근 권한이 없습니다."),


/**
* 120000 : voteItem error
Expand Down Expand Up @@ -189,6 +191,11 @@ public enum ErrorCode implements ResponseCode {
COMMENT_DELETE_FORBIDDEN(HttpStatus.FORBIDDEN, 190005, "댓글 삭제 권한이 없습니다."),
COMMENT_COUNT_UNDERFLOW(HttpStatus.BAD_REQUEST, 190007, "댓글 수는 0 이하로 감소할 수 없습니다."),

/**
* 195000 : AttendanceCheck error
*/
ATTENDANCE_CHECK_WRITE_LIMIT_EXCEEDED(HttpStatus.BAD_REQUEST, 195000, "오늘의 한마디 작성 가능 횟수를 초과하였습니다."),

;

private final HttpStatus httpStatus;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ public enum SwaggerResponseDescription {
))),

ROOM_SEARCH(new LinkedHashSet<>(Set.of(
INVALID_ROOM_SEARCH_SORT
INVALID_ROOM_SEARCH_SORT,
CATEGORY_NOT_MATCH
))),
ROOM_PASSWORD_CHECK(new LinkedHashSet<>(Set.of(
ROOM_NOT_FOUND,
Expand Down Expand Up @@ -159,6 +160,11 @@ public enum SwaggerResponseDescription {
VOTE_ITEM_NOT_VOTED_CANNOT_CANCEL,
VOTE_ITEM_COUNT_CANNOT_BE_NEGATIVE
))),
VOTE_DELETE(new LinkedHashSet<>(Set.of(
ROOM_ACCESS_FORBIDDEN,
VOTE_NOT_FOUND,
VOTE_ACCESS_FORBIDDEN
))),


// FEED
Expand Down Expand Up @@ -281,6 +287,14 @@ public enum SwaggerResponseDescription {
RECENT_SEARCH_NOT_ADDED_BY_USER
))),

// Attendance Check
ATTENDANCE_CHECK_CREATE(new LinkedHashSet<>(Set.of(
ROOM_ACCESS_FORBIDDEN,
ROOM_NOT_FOUND,
USER_NOT_FOUND,
ATTENDANCE_CHECK_WRITE_LIMIT_EXCEEDED
))),

;
private final Set<ErrorCode> errorCodeList;
SwaggerResponseDescription(Set<ErrorCode> errorCodeList) {
Expand Down
20 changes: 15 additions & 5 deletions src/main/java/konkuk/thip/config/OpenApiConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,24 @@ public class OpenApiConfig {

@Value("${server.http-url}") private String httpUrl;

@Value(("${server.profile}")) private String profile;

@Bean
public OpenAPI openAPI() {
List<Server> serverList = switch (profile) {
case "prod" -> List.of(new Server().url(httpsUrl).description("HTTPS 배포 서버"));
case "dev" -> List.of(
new Server().url(httpUrl).description("HTTP 개발 서버"),
new Server().url(httpsUrl).description("HTTPS 배포 서버"),
new Server().url("http://localhost:8080").description("로컬 개발 서버")
);
default -> List.of(
new Server().url("http://localhost:8080").description("로컬 개발 서버")
);
};

return new OpenAPI()
.servers(List.of(
new Server().url(httpsUrl).description("HTTPS 배포 서버"),
new Server().url(httpUrl).description("HTTP IP"),
new Server().url("http://localhost:8080").description("로컬 개발 서버")
))
.servers(serverList)
.components(setComponents())
.addSecurityItem(setSecurityItems());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ public record FeedDto(
int likeCount,
int commentCount,
boolean isSaved,
boolean isLiked
boolean isLiked,
boolean isWriter
) { }
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public record FeedDto(
int commentCount,
boolean isPublic,
boolean isSaved,
boolean isLiked
boolean isLiked,
boolean isWriter
) { }
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public record FeedDto(
String[] contentUrls,
int likeCount,
int commentCount,
boolean isPublic
boolean isPublic,
boolean isWriter
) { }
}
Loading