Skip to content

feat(backend): implement outbound external dispatcher for notifications#127

Merged
PeterOche merged 1 commit intodegenspot:mainfrom
Cedarich:feat/outbound-external-dispatcher
Mar 24, 2026
Merged

feat(backend): implement outbound external dispatcher for notifications#127
PeterOche merged 1 commit intodegenspot:mainfrom
Cedarich:feat/outbound-external-dispatcher

Conversation

@Cedarich
Copy link
Copy Markdown

@Cedarich Cedarich commented Mar 24, 2026

Closes #117


Implement Outbound External Dispatcher for Notifications

Description: This PR introduces a robust, asynchronous background dispatcher for sending notifications off-platform (Email/Webhooks) without blocking the main HTTP loop.

Key Changes:

  • Schema Updates : Modified notification.entity.ts to track dispatch status and errors.
  • Background Processing : Integrated @nestjs/schedule to run a cron job every minute that batches and processes un-dispatched notifications.
  • Pluggable Senders : Added an extensible ISender interface with initial mock implementations for Email and Webhook dispatch.
  • API Enhancements : Updated the Notifications controller with a test endpoint to trigger external dispatches manually.
  • Stability : Resolved TypeScript strict-mode issues and updated the existing test suite in notifications.service.spec.ts .

close issue #117

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 24, 2026

@Cedarich 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! 🚀

Learn more about application limits

@PeterOche PeterOche merged commit 7e2865f into degenspot:main Mar 24, 2026
3 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.

Outbound External Dispatcher

3 participants