Conversation
- 리뷰 생성 시 1일 이상의 주기는 사용자 설정 시간에 맞춰 스케줄링되도록 로직 수정
🧪 테스트 커버리지 리포트
|
There was a problem hiding this comment.
Pull request overview
This pull request adds functionality for members to set their preferred notification time for review reminders. When a member sets a preferred time, review cycles with durations of 1 day or more will be adjusted to be scheduled at that specific time of day, while shorter cycles (less than 1 day) remain unaffected.
Changes:
- Added
notificationTimefield to Member entity with corresponding database migration - Implemented API endpoint (PATCH
/api/v1/members/notification-time) for updating member notification preferences - Modified ReviewService to adjust scheduling times based on member preferences for cycles ≥ 1 day
- Added comprehensive test coverage for notification time updates and schedule adjustments
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
V20260206_1__add_notification_time_to_member.sql |
Database migration adding nullable notification_time column to member table |
Member.java |
Added notificationTime field and updateNotificationTime() method to domain model |
MemberService.java |
Implemented notification time update logic and modified device query to include notification time |
MemberNotificationTimeUpdateInput.java |
New service input record for notification time update requests |
MemberFindOutput.java |
Updated to include notification time in member query results |
MemberNotificationTimeUpdateRequest.java |
New controller request record for notification time updates |
MemberController.java |
Added PATCH endpoint for updating member notification times |
MemberFindResponse.java |
Updated response to include notification time field |
ReviewService.java |
Modified scheduling logic to adjust times based on member preferences for durations ≥ 1 day |
MemberServiceTest.java |
Added tests for notification time updates and unauthorized device scenarios |
MemberControllerTest.java |
Added controller test with API documentation for notification time update endpoint |
ReviewServiceTest.java |
Added test verifying schedule adjustment with preferred notification time |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/test/java/com/recyclestudy/member/service/MemberServiceTest.java
Outdated
Show resolved
Hide resolved
src/main/java/com/recyclestudy/member/service/MemberService.java
Outdated
Show resolved
Hide resolved
src/test/java/com/recyclestudy/review/service/ReviewServiceTest.java
Outdated
Show resolved
Hide resolved
- 알림 시간 업데이트 후 로깅 시 변경 전 시간이 아닌 변경 후 시간이 기록되는 문제 수정
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
멤버가 선호하는 복습 알림 시간을 설정할 수 있는 기능 추가
📸 이슈 번호
✍ 궁금한 점
Member생성 시notificationTime을 초기화하는 방식에 대해 고민했으나, 현재 도메인 규칙("가입 시 알림 시간 없음")을 명확히 하고자 팩토리 메서드에서null을 명시적으로 다루지 않고 내부적으로 처리하는 기존 방식을 유지하였음. 추후 초기 설정이 필요해질 경우 팩토리 메서드 오버로딩으로 대응 가능하다고 판단함.