Skip to content

[REFACTOR] 일정 및 준비/실행 항목 알람 리펙토링 - #237

Merged
taerimiiii merged 4 commits into
developfrom
refactor/larfor/236
Aug 12, 2026
Merged

[REFACTOR] 일정 및 준비/실행 항목 알람 리펙토링#237
taerimiiii merged 4 commits into
developfrom
refactor/larfor/236

Conversation

@taerimiiii

@taerimiiii taerimiiii commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

🔗 이슈 번호

#️⃣ 기능 설명

일정 및 준비/실행 항목 알람 리펙토링

📌 작업 내용

  • 폴더 구조 전반 리펙토링
  • 응답 케이스 세분화

✅ 체크리스트

  • Assignees, Labels를 모두 지정했나요?
  • GitHub Copilot의 자동 코드 리뷰 제안을 검토하고 필요한 부분을 반영했나요?
  • PR 머지 전 빌드 및 CI가 정상 작동하는지 확인했나요?

📸 스크린샷 (선택)

  • 변경 사항

    • 알람 관련 Controller, DTO, Service, Util의 패키지를 domain.alarm에서 domain.reminder로 통합했습니다.
    • 알람 약관 동의 결과를 세분화했습니다.
    • 최초 동의와 기존 동의를 구분해 서로 다른 성공 메시지를 반환합니다.
    • 중복 동의 예외 처리 대신 boolean 결과를 사용합니다.
  • 변경 목적

    • 일정 및 준비·실행 항목 알람 코드의 폴더 구조를 정리합니다.
    • 알람 약관 응답 케이스를 명확하게 구분합니다.
  • Breaking Changes

    • 알람 관련 public 클래스의 패키지 경로가 변경되었습니다.
    • AlarmTermService.agreeAlarmTerm(Long)의 반환 타입이 void에서 boolean으로 변경되었습니다.
    • 기존 중복 동의 예외 처리 동작이 제거되었습니다.
  • 테스트

    • 제공된 변경 내역에 테스트 실행 결과가 없습니다.

@taerimiiii taerimiiii self-assigned this Aug 11, 2026
@taerimiiii taerimiiii added the refactor 기능 변경 없는 코드 구조 개선 label Aug 11, 2026
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

Alarm reminder refactor

Layer / File(s) Summary
Reminder DTO package relocation
src/main/java/com/tryna/domain/reminder/dto/*
Alarm response and request DTOs now use the com.tryna.domain.reminder.dto package.
Reminder service wiring
src/main/java/com/tryna/domain/reminder/controller/AlarmController.java, src/main/java/com/tryna/domain/reminder/controller/docs/AlarmControllerDocs.java, src/main/java/com/tryna/domain/reminder/service/*, src/main/java/com/tryna/domain/reminder/util/AlarmCursorCodec.java
Alarm services, controller imports, documentation imports, and the cursor codec now use the reminder package hierarchy.
Alarm-term agreement response
src/main/java/com/tryna/domain/reminder/service/AlarmTermService.java, src/main/java/com/tryna/domain/reminder/controller/AlarmController.java, src/main/java/com/tryna/domain/reminder/controller/docs/AlarmControllerDocs.java
agreeAlarmTerm returns whether a new agreement was recorded. The controller returns different messages for new and repeated agreements, and the API documentation describes the repeated-agreement response.

Possibly related issues

  • Issue 222 — Covers the same alarm and reminder APIs, including alarm-term agreement and reminder services.

Possibly related PRs

  • tryna-team/backend#228 — Directly relates to the same alarm controllers, DTOs, services, and cursor utility.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the alarm refactoring for schedules and preparation/execution items.
Description check ✅ Passed The description includes the issue, feature summary, work items, checklist, and optional screenshot section.
Linked Issues check ✅ Passed The package refactoring and differentiated alarm-term responses satisfy the objectives in issue #236.
Out of Scope Changes check ✅ Passed The changes remain within the linked issue scope and address alarm package structure and response cases.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/larfor/236

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
src/main/java/com/tryna/domain/reminder/controller/AlarmController.java (1)

50-57: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Cover both agreement responses.

Add controller tests for agreeAlarmTerm returning true and false. Assert HTTP 200 and the corresponding newly-agreed and already-agreed messages.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/main/java/com/tryna/domain/reminder/controller/AlarmController.java`
around lines 50 - 57, Add controller tests for agreeAlarmTerm covering both
newlyAgreed=true and newlyAgreed=false outcomes, asserting HTTP 200 and the
matching success messages for newly agreeing and already agreeing to the alarm
terms.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/main/java/com/tryna/domain/reminder/controller/AlarmController.java`:
- Around line 50-57: Add controller tests for agreeAlarmTerm covering both
newlyAgreed=true and newlyAgreed=false outcomes, asserting HTTP 200 and the
matching success messages for newly agreeing and already agreeing to the alarm
terms.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9cd69ff6-ee8f-498e-95d9-e492315d052e

📥 Commits

Reviewing files that changed from the base of the PR and between c758858 and a008650.

📒 Files selected for processing (17)
  • src/main/java/com/tryna/domain/reminder/controller/AlarmController.java
  • src/main/java/com/tryna/domain/reminder/controller/docs/AlarmControllerDocs.java
  • src/main/java/com/tryna/domain/reminder/dto/ActionItemReminderResponse.java
  • src/main/java/com/tryna/domain/reminder/dto/AlarmCorrectionResponse.java
  • src/main/java/com/tryna/domain/reminder/dto/AlarmDetailResponse.java
  • src/main/java/com/tryna/domain/reminder/dto/AlarmListResponse.java
  • src/main/java/com/tryna/domain/reminder/dto/AlarmPushTokenRequest.java
  • src/main/java/com/tryna/domain/reminder/dto/AlarmStateResponse.java
  • src/main/java/com/tryna/domain/reminder/dto/EventReminderResponse.java
  • src/main/java/com/tryna/domain/reminder/service/AlarmPushTokenService.java
  • src/main/java/com/tryna/domain/reminder/service/AlarmQueryService.java
  • src/main/java/com/tryna/domain/reminder/service/AlarmReminderDispatchExecutor.java
  • src/main/java/com/tryna/domain/reminder/service/AlarmReminderScheduleService.java
  • src/main/java/com/tryna/domain/reminder/service/AlarmStateService.java
  • src/main/java/com/tryna/domain/reminder/service/AlarmTermService.java
  • src/main/java/com/tryna/domain/reminder/service/FcmPushService.java
  • src/main/java/com/tryna/domain/reminder/util/AlarmCursorCodec.java

@taerimiiii
taerimiiii merged commit 8bdb78c into develop Aug 12, 2026
2 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Aug 12, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor 기능 변경 없는 코드 구조 개선

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] 일정 및 준비/실행 항목 알람 리펙토링

1 participant