Issue #47
Users need the ability to manage their notification preferences. Currently, all users receive all notification types (email, in-app, SMS) with no way to opt out of specific channels or event types.
- Add a REST endpoint to get current notification preferences for a user
- Add a REST endpoint to update notification preferences
- Preferences should cover: email, in-app push, and SMS channels
- Each channel can be toggled independently for these event types:
- Order status updates
- Marketing promotions
- Security alerts (cannot be disabled)
- Default new users to all notifications enabled
- Changes should take effect immediately
- GET
/api/users/{userId}/notification-preferencesreturns current prefs - PUT
/api/users/{userId}/notification-preferencesupdates prefs - Security alerts cannot be disabled via API (server enforces this)
- Preferences are persisted in the database
- Unit tests cover all preference combinations
- API documentation is updated