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.

Feature: Notification Settings

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

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component

Related Data Entities (2)

Data entities managed by this component