Skip to content

[codex] Implement backend alarm feature#260

Merged
jjoonleo merged 1 commit intomainfrom
codex/backend-alarm-feature
May 5, 2026
Merged

[codex] Implement backend alarm feature#260
jjoonleo merged 1 commit intomainfrom
codex/backend-alarm-feature

Conversation

@jjoonleo
Copy link
Copy Markdown
Contributor

@jjoonleo jjoonleo commented May 5, 2026

Summary

Implements the backend native alarm feature contract for account-owned schedules and single-device alarm reconciliation.

Changes

  • Add user alarm settings, current device registration/unregistration, alarm status reporting, and current alarm diagnostics endpoints.
  • Add alarm settings, user device, and latest alarm status persistence with migration defaults for existing users.
  • Add /schedules/alarm-window with NOT_ENDED filtering, inclusive/exclusive range semantics, 14-day range validation, sorted output, preparation data, and computed debug alarm times.
  • Link FCM tokens to the current active device and bind device metadata to the authenticated token session.
  • Suppress legacy prep reminders only when a fresh current-device alarm status reports local coverage for the schedule.
  • Preserve schedule/preparation API fields, sync doneStatus after schedule updates, and add default alarm settings for new social-auth users.
  • Add focused alarm service tests and test-only H2 configuration so the suite can run without local MySQL.

Validation

  • ./gradlew test
  • ./gradlew test --tests devkor.ontime_back.service.AlarmServiceTest
  • git diff --check

@jjoonleo jjoonleo force-pushed the codex/backend-alarm-feature branch from 22ccd17 to bed3b7b Compare May 5, 2026 12:47
@jjoonleo jjoonleo marked this pull request as ready for review May 5, 2026 12:53
@jjoonleo jjoonleo merged commit f3d7f3a into main May 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant