Notification Preferences Service
Component Detail
Service Layer
low complexity
backend
1
Dependencies
1
Dependents
2
Entities
0
Integrations
Description
Business logic layer for reading and writing notification preferences. Applies role-based defaults during onboarding, validates preference combinations, and ensures changes are synced to the backend so server-side dispatch respects user choices.
notification-preferences-service
Responsibilities
- Fetch current preferences for authenticated user
- Update individual category-channel preference toggles
- Apply role-based default preferences for new users
- Expose preference state to notification dispatch layer for server-side filtering
Interfaces
getPreferences(userId: String): Future<NotificationPreferences>
updatePreference(userId: String, category: String, channel: String, enabled: bool): Future<void>
applyRoleDefaults(userId: String, role: String): Future<void>
isChannelEnabled(userId: String, category: String, channel: String): Future<bool>
Relationships
Related Data Entities (2)
Data entities managed by this component