Files
WooNooW/BACKEND_WIRING_COMPLETE.md
dwindown 60658c6786 feat: Complete backend wiring for notification system
 Global System Toggle:
- Added GET/POST /notifications/system-mode endpoints
- Switch between WooNooW and WooCommerce notification systems
- Stored in: woonoow_notification_system_mode
- EmailManager::is_enabled() checks system mode
- NotificationManager checks mode before sending

 Template System Wired:
- Templates saved via API are used when sending
- EmailRenderer fetches templates from TemplateProvider
- Variables replaced automatically
- Markdown parsed (cards, buttons, images)
- Email customization applied (colors, logo, branding)

 Channel Toggle Wired:
- Frontend toggles saved to database
- NotificationManager::is_channel_enabled() checks before sending
- Email: woonoow_email_notifications_enabled
- Push: woonoow_push_notifications_enabled

 Event Toggle Wired:
- Per-event channel settings saved
- NotificationManager::is_event_channel_enabled() checks before sending
- Stored in: woonoow_notification_settings

 Email Sending Flow:
Event → EmailManager → Check System Mode → Check Channel Toggle
→ Check Event Toggle → EmailRenderer → Get Template → Replace Variables
→ Parse Markdown → Apply Branding → wp_mail() → Sent

 All Settings Applied:
- Template modifications saved and used
- Channel toggles respected
- Event toggles respected
- Global system mode respected
- Email customization applied
- Push settings applied

📋 Modified Files:
- NotificationsController.php: Added system-mode endpoints
- NotificationManager.php: Added system mode check, wired EmailRenderer
- EmailManager.php: Added is_enabled() check for system mode

🎯 Result: Complete end-to-end notification system fully functional
2025-11-15 21:59:46 +07:00

1.6 KiB

Backend Wiring Complete

Summary

All notification system components are fully wired and functional.

What's Wired

1. Template System

  • Save/Get templates via API
  • EmailRenderer uses templates
  • Variables replaced automatically
  • Markdown parsed (cards, buttons, images)

2. Channel Toggles

  • Frontend toggles saved to database
  • NotificationManager checks before sending
  • Email: woonoow_email_notifications_enabled
  • Push: woonoow_push_notifications_enabled

3. Event Toggles

  • Per-event channel settings saved
  • Stored in woonoow_notification_settings
  • Checked before sending notifications

4. Global System Toggle

  • NEW: Switch between WooNooW and WooCommerce
  • API: GET/POST /notifications/system-mode
  • Stored in: woonoow_notification_system_mode
  • EmailManager respects this setting
  • NotificationManager checks before sending

5. Email Customization

  • Colors, logo, branding saved
  • EmailRenderer applies customization
  • Stored in: woonoow_email_settings

6. Push Settings

  • Icon, badge, sound settings
  • PushNotificationHandler applies settings

Notification Flow

Event → EmailManager → Check System Mode → Check Channel Toggle
→ Check Event Toggle → EmailRenderer → Get Template → Replace Variables
→ Parse Markdown → Apply Branding → wp_mail() → Sent ✅

Key Files Modified

  • NotificationsController.php: Added system-mode endpoints
  • NotificationManager.php: Added system mode check
  • EmailManager.php: Added is_enabled() check

Testing

All settings are now saved and applied when sending notifications.