-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: 세션을 커리큘럼으로 변경 #696
Conversation
Job Summary for GradleCheck Style and Test to Develop :: build-test
|
Walkthrough이번 변경 사항은 스터디 관련 API에서 세션을 커리큘럼으로 전환하는 작업을 포함합니다. 이는 여러 클래스와 메소드의 이름 변경, 반환 타입 수정, 그리고 관련 엔티티와 DTO의 업데이트를 포함하여, 스터디 관리의 초점을 세션에서 커리큘럼으로 이동시키고 있습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant MentorStudyDetailController
participant MentorStudyDetailService
participant StudyDetail
Client->>MentorStudyDetailController: GET /curriculums?studyId={id}
MentorStudyDetailController->>MentorStudyDetailService: getCurriculums(studyId)
MentorStudyDetailService->>StudyDetail: fetchCurriculums(studyId)
StudyDetail-->>MentorStudyDetailService: return curriculums
MentorStudyDetailService-->>MentorStudyDetailController: return curriculums
MentorStudyDetailController-->>Client: return curriculums
Assessment against linked issues
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (17)
- src/main/java/com/gdschongik/gdsc/domain/study/api/MentorStudyDetailController.java (2 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/api/StudentStudyDetailController.java (2 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/application/MentorStudyDetailService.java (2 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/application/MentorStudyService.java (4 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/application/StudentStudyDetailService.java (3 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/domain/Study.java (2 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/domain/StudyDetail.java (5 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/domain/StudyDetailValidator.java (1 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/domain/vo/Curriculum.java (2 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/dto/request/StudyCurriculumCreateRequest.java (1 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/dto/request/StudyUpdateRequest.java (1 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/dto/response/StudyCurriculumResponse.java (1 hunks)
- src/main/java/com/gdschongik/gdsc/domain/study/dto/response/StudyStudentCurriculumResponse.java (1 hunks)
- src/main/java/com/gdschongik/gdsc/global/exception/ErrorCode.java (1 hunks)
- src/test/java/com/gdschongik/gdsc/domain/study/application/MentorStudyServiceTest.java (4 hunks)
- src/test/java/com/gdschongik/gdsc/domain/study/domain/StudyDetailValidatorTest.java (1 hunks)
- src/test/java/com/gdschongik/gdsc/global/common/constant/StudyConstant.java (1 hunks)
Files skipped from review due to trivial changes (3)
- src/main/java/com/gdschongik/gdsc/domain/study/dto/request/StudyCurriculumCreateRequest.java
- src/main/java/com/gdschongik/gdsc/global/exception/ErrorCode.java
- src/test/java/com/gdschongik/gdsc/global/common/constant/StudyConstant.java
Additional context used
Learnings (1)
src/main/java/com/gdschongik/gdsc/domain/study/application/StudentStudyDetailService.java (1)
Learnt from: Sangwook02 PR: GDSC-Hongik/gdsc-server#431 File: src/main/java/com/gdschongik/gdsc/domain/study/application/StudyService.java:50-57 Timestamp: 2024-07-07T15:32:34.451Z Learning: Consider using Stream API for creating lists in a more concise and potentially performant manner compared to traditional for-loops.
Additional comments not posted (44)
src/main/java/com/gdschongik/gdsc/domain/study/dto/request/StudyUpdateRequest.java (1)
9-9
: 변경 사항 확인:studyCurriculums
로 변경
studySessions
가studyCurriculums
로 변경되었습니다. 이 변경 사항이 코드베이스 전체에서 올바르게 사용되고 있는지 확인하세요.코드 변경 사항이 승인되었습니다.
다음 스크립트를 실행하여 파라미터 사용을 확인하세요:
Verification successful
studyCurriculums
파라미터 사용 확인 완료
studyCurriculums
파라미터가 코드베이스에서 올바르게 사용되고 있습니다.MentorStudyService.java
파일에서 이 파라미터가 적절히 활용되고 있으며, 기능적으로도 문제가 없습니다.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # 설명: `studyCurriculums` 파라미터 사용을 확인합니다. # 테스트: 파라미터 사용 검색. 기대 결과: 새로운 파라미터만 사용됨. rg --type java -A 5 $'studyCurriculums'Length of output: 2641
src/main/java/com/gdschongik/gdsc/domain/study/dto/response/StudyCurriculumResponse.java (7)
6-6
: 필요한 import 추가
Curriculum
클래스를 위한 import 문이 추가되었습니다.코드 변경 사항이 승인되었습니다.
8-8
: 클래스 이름 변경 확인클래스 이름이
StudyCurriculumResponse
로 변경되었습니다. 세션에서 커리큘럼으로의 전환과 일치합니다.코드 변경 사항이 승인되었습니다.
11-11
: 정적 메서드from
업데이트정적 메서드
from
이 이제StudyCurriculumResponse
를 반환합니다. 새로운 커리큘럼 초점과 일치합니다.코드 변경 사항이 승인되었습니다.
12-12
:Curriculum
객체 가져오기메서드가 이제
StudyDetail
에서Curriculum
객체를 올바르게 가져옵니다.코드 변경 사항이 승인되었습니다.
17-17
:Curriculum
에서 제목 가져오기메서드가 이제
Curriculum
객체에서 제목을 올바르게 가져옵니다.코드 변경 사항이 승인되었습니다.
18-18
:Curriculum
에서 설명 가져오기메서드가 이제
Curriculum
객체에서 설명을 올바르게 가져옵니다.코드 변경 사항이 승인되었습니다.
19-19
:Curriculum
에서 난이도 가져오기메서드가 이제
Curriculum
객체에서 난이도를 올바르게 가져옵니다.코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/domain/vo/Curriculum.java (7)
20-20
: 클래스 이름 변경 확인클래스 이름이
Curriculum
으로 변경되었습니다. 세션에서 커리큘럼으로의 전환과 일치합니다.코드 변경 사항이 승인되었습니다.
31-31
: 주석 업데이트 확인주석이 "커리큘럼 상태"로 업데이트되었습니다. 클래스의 새로운 컨텍스트를 올바르게 반영합니다.
코드 변경 사항이 승인되었습니다.
36-36
: 생성자 이름 변경 확인생성자 이름이
Curriculum
으로 변경되었습니다. 세션에서 커리큘럼으로의 전환과 일치합니다.코드 변경 사항이 승인되었습니다.
44-44
: 정적 메서드 이름 변경 확인정적 메서드 이름이
createEmptyCurriculum
으로 변경되었습니다. 세션에서 커리큘럼으로의 전환과 일치합니다.코드 변경 사항이 승인되었습니다.
45-45
: 빈 커리큘럼 생성 메서드 구현 확인메서드 구현이 빈 커리큘럼을 올바르게 생성합니다.
코드 변경 사항이 승인되었습니다.
48-48
: 정적 메서드 이름 변경 확인정적 메서드 이름이
generateCurriculum
으로 변경되었습니다. 세션에서 커리큘럼으로의 전환과 일치합니다.코드 변경 사항이 승인되었습니다.
50-50
: 커리큘럼 생성 메서드 구현 확인메서드 구현이 제공된 파라미터로 커리큘럼을 올바르게 생성합니다.
코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/dto/response/StudyStudentCurriculumResponse.java (3)
14-20
: 변경 사항 승인레코드 이름과 필드 이름이 세션에서 커리큘럼으로 전환된 목적에 맞게 변경되었습니다.
변경 사항이 승인되었습니다.
28-37
: 변경 사항 승인메서드 이름과 구현이 세션에서 커리큘럼으로 전환된 목적에 맞게 변경되었습니다.
변경 사항이 승인되었습니다.
30-37
: 변경 사항 승인메서드 구현이 세션에서 커리큘럼으로 전환된 목적에 맞게 변경되었습니다.
변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/domain/StudyDetailValidator.java (2)
60-60
: 변경 사항 승인주석이 세션에서 커리큘럼으로 전환된 목적에 맞게 업데이트되었습니다.
변경 사항이 승인되었습니다.
62-62
: 변경 사항 승인예외가 세션에서 커리큘럼으로 전환된 목적에 맞게 업데이트되었습니다.
변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/api/StudentStudyDetailController.java (3)
6-6
: 변경 사항 승인새로운 데이터 구조를 위해 필요한 import 문이 추가되었습니다.
변경 사항이 승인되었습니다.
42-45
: 변경 사항 승인메서드 이름과 응답 타입이 세션에서 커리큘럼으로 전환된 목적에 맞게 변경되었습니다.
변경 사항이 승인되었습니다.
45-45
: 변경 사항 승인메서드 구현이 세션에서 커리큘럼으로 전환된 목적에 맞게 변경되었습니다.
변경 사항이 승인되었습니다.
src/test/java/com/gdschongik/gdsc/domain/study/application/MentorStudyServiceTest.java (4)
13-13
: 적절한 변경 사항
StudySessionCreateRequest
를StudyCurriculumCreateRequest
로 변경한 것은 올바른 수정입니다.코드 변경 사항이 승인되었습니다.
46-51
: 적절한 변경 사항세션 생성 요청을 커리큘럼 생성 요청으로 변경한 것은 올바른 수정입니다.
코드 변경 사항이 승인되었습니다.
55-55
: 적절한 변경 사항
StudyUpdateRequest
에 커리큘럼 생성 요청을 추가한 것은 올바른 수정입니다.코드 변경 사항이 승인되었습니다.
70-71
: 적절한 변경 사항커리큘럼의 제목과 설명을 검증하는 부분도 올바르게 수정되었습니다.
코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/api/MentorStudyDetailController.java (2)
6-6
: 적절한 변경 사항
StudyCurriculumResponse
를 가져오는 부분이 올바르게 수정되었습니다.코드 변경 사항이 승인되었습니다.
69-72
: 적절한 변경 사항커리큘럼 목록을 가져오는 API 엔드포인트가 올바르게 수정되었습니다.
코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/application/MentorStudyDetailService.java (2)
11-11
: 적절한 변경 사항
StudyCurriculumResponse
를 가져오는 부분이 올바르게 수정되었습니다.코드 변경 사항이 승인되었습니다.
91-93
: 적절한 변경 사항커리큘럼 목록을 가져오는 메소드가 올바르게 수정되었습니다.
코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/domain/StudyDetail.java (5)
8-8
: LGTM!
Curriculum
클래스의 import가 올바르게 추가되었습니다.코드 변경 사항이 승인되었습니다.
44-49
: LGTM!
Curriculum
필드를 데이터베이스 열에 올바르게 매핑하는 속성 재정의가 추가되었습니다.코드 변경 사항이 승인되었습니다.
60-65
: LGTM!생성자 매개변수가
Session
에서Curriculum
으로 변경되었습니다.코드 변경 사항이 승인되었습니다.
81-81
: LGTM!
createStudyDetail
메서드가Curriculum.createEmptyCurriculum()
을 사용하도록 업데이트되었습니다.코드 변경 사항이 승인되었습니다.
136-138
: LGTM!메서드 이름과 로직이
Session
에서Curriculum
으로 변경되었습니다.코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/domain/Study.java (2)
117-117
: LGTM!메서드 호출이
validateApplicationStartDateBeforeCurriculumStartDate
로 업데이트되었습니다.코드 변경 사항이 승인되었습니다.
137-137
: LGTM!메서드 이름과 로직이
Session
에서Curriculum
으로 변경되었습니다.코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/application/StudentStudyDetailService.java (3)
68-68
: LGTM!필터 조건이
Session
에서Curriculum
으로 변경되었습니다.코드 변경 사항이 승인되었습니다.
82-90
: LGTM!메서드 이름과 매핑 작업이
Session
에서Curriculum
으로 변경되었습니다.코드 변경 사항이 승인되었습니다.
12-12
: LGTM!응답 DTO의 import가 올바르게 추가되었습니다.
코드 변경 사항이 승인되었습니다.
src/main/java/com/gdschongik/gdsc/domain/study/application/MentorStudyService.java (2)
Line range hint
114-125
: 함수 호출 검증 필요함수가 새로운 요청 타입을 올바르게 처리하는 것 같습니다. 그러나 이 함수와 상호작용하는 코드베이스의 다른 부분들이 새로운 요청 타입에 맞게 업데이트되었는지 확인해야 합니다.
다음 스크립트를 실행하여 함수 호출을 검증하십시오:
Verification successful
함수 호출이 새로운 요청 타입과 일치합니다.
updateStudy
함수가 코드베이스 전반에서 일관되게StudyUpdateRequest
타입과 함께 사용되고 있습니다. 변경된 요청 타입에 맞게 잘 통합되어 있는 것으로 보입니다. 추가적인 업데이트가 필요하지 않습니다.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `updateStudy` match the new request type. # Test: Search for the function usage. Expect: Only occurrences of the new request type. rg --type java -A 5 $'updateStudy'Length of output: 6530
128-142
: 커리큘럼 세부 정보 업데이트 함수 검증 필요함수가 새로운 커리큘럼 요청 타입에 따라 스터디 세부 정보를 올바르게 업데이트하는 것 같습니다. 그러나 커리큘럼 세부 정보가 올바르게 검증되고 업데이트되었는지 확인해야 합니다.
다음 스크립트를 실행하여 함수 호출을 검증하십시오:
Verification successful
커리큘럼 세부 정보 업데이트 함수 사용 확인 완료
updateAllStudyDetailCurriculum
함수는 새로운 요청 타입인StudyCurriculumCreateRequest
와 일치하는 방식으로 사용되고 있습니다. 코드베이스 내 다른 사용 사례가 없으므로, 함수 사용이 올바르게 이루어지고 있음을 확인했습니다.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `updateAllStudyDetailCurriculum` match the new request type. # Test: Search for the function usage. Expect: Only occurrences of the new request type. rg --type java -A 5 $'updateAllStudyDetailCurriculum'Length of output: 1303
src/test/java/com/gdschongik/gdsc/domain/study/domain/StudyDetailValidatorTest.java (1)
177-177
: 검증 로직 확인 필요테스트 케이스가 검증 로직의 변경 사항을 올바르게 반영하고 있습니다. 그러나 검증 로직 자체가 올바르게 업데이트되었는지 확인해야 합니다.
다음 스크립트를 실행하여 검증 로직을 확인하십시오:
Verification successful
검증 로직이 올바르게 구현되었습니다
StudyDetailValidator.java
의validateUpdateStudyDetail
메서드는 커리큘럼 크기 불일치를 올바르게 확인하고 있으며, 테스트 케이스도 이에 맞게 작성되었습니다.
StudyDetailValidator.java
에서studyDetails
와requests
의 크기를 비교하여 불일치 시STUDY_DETAIL_CURRICULUM_SIZE_MISMATCH
예외를 발생시킵니다.StudyDetailValidatorTest.java
에서 해당 예외 메시지를 올바르게 테스트하고 있습니다.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the validation logic for `validateUpdateStudyDetail`. # Test: Search for the validation logic. Expect: Only occurrences of the new validation logic. rg --type java -A 5 $'validateUpdateStudyDetail'Length of output: 3156
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pr 제목 바꿔주세요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
한국어로 된 '세션' 같은 워딩은 없었나요?
이것도 서치해보시고 없으면 머지하셔도 될듯합니다
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
dto 스펙이나 endpoint 바뀐 부분들은 프론트쪽에도 전달해주세요~
Job Summary for GradleCheck Style and Test to Develop :: build-test
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- src/main/java/com/gdschongik/gdsc/domain/study/domain/StudyType.java (1 hunks)
Files skipped from review due to trivial changes (1)
- src/main/java/com/gdschongik/gdsc/domain/study/domain/StudyType.java
🌱 관련 이슈
📌 작업 내용 및 특이사항
📝 참고사항
📚 기타
Summary by CodeRabbit
New Features
StudyType
열거형의 상수 설명이 "온라인 세션"에서 "온라인 커리큘럼"으로 변경되었습니다.Bug Fixes
Documentation