Repository navigation
feat(notifications): appointment booking notifications and reminders - #187
Micheal1605 wants to merge 12 commits into
Conversation
|
@Micheal1605 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
@Micheal1605 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared files like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@Micheal1605 CI is failing on this branch, so it can't be merged yet. The errors from the latest run: Backend (typecheck + test + build) Please reproduce this locally, fix the errors above and push. CI will re-run on your next push. This PR also has merge conflicts with |
|
@Micheal1605 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared files like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@Micheal1605 CI is failing on this branch against the latest Backend (typecheck + test + build) Reproduce this locally on the latest This PR also conflicts with |
|
@Micheal1605 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@Micheal1605 CI is failing on this branch against the latest Backend (typecheck + test + build) Reproduce this locally on the latest This PR also conflicts with |
|
@Micheal1605 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@Micheal1605 CI is failing on this branch against the latest Backend (typecheck + test + build)
This PR also conflicts with |
|
@Micheal1605 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@Micheal1605 CI is failing on this branch against the latest Backend (typecheck + test + build)
|
|
@afeezorobsco-cyber — this PR is ready for another review. I resolved the merge conflicts with the main branch (pushed bc6c537). |
|
@Micheal1605 CI is failing at The appointments service calls notification emitters that the PR doesn't export, and it uses an older |
|
@Micheal1605 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
…ons-booking Resolve docs/api/README.md: keep main's API reference and add this PR's reschedule row and Notifications section. The branch's copy of the file had a stray NUL byte (so git treated it as binary) and an older, partly garbled snapshot that would have dropped most of main's reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@Micheal1605 I resolved this PR's merge conflict with CI still fails on the same typecheck errors as before. The appointments service calls notification emitters that the notifications service doesn't export: Please pull the merge commit first ( |
a0b4c0b to
46984de
Compare
|
@Micheal1605 Thanks for the notification fixes. After updating to
|
|
@afeezorobsco-cyber — this PR is ready for another review. I fixed the failing CI checks on this PR (pushed 42d79a0). |
Overview
This PR wires appointment booking events into the notification pipeline. When a booking commits, booking-confirmed (patient) and new-booking (doctor) notifications are emitted through the outbox, and a reminder job sends 24h and 2h reminders that are idempotent per appointment and reminder type. Cancellation and reschedule notifications are sent to the other party, and reminder sends check appointment state at send time so cancelled or rescheduled appointments are suppressed.
Related Issue
Changes
🔔 Notification services and repositories
[MODIFY]
backend/src/modules/notifications/services/index.ts[MODIFY]
backend/src/modules/notifications/repositories/index.ts📅 Appointment services
backend/src/modules/appointments/services/index.ts📚 Docs
docs/api/README.mdROADMAP.mdVerification Results
Closes #98