Publishes the preference events; null for readers (notification handlers, bots, tests).
Persisted customer notification preferences, or the defaults if not set.
null if the customer does not exist.
The CFX staff emailed alongside the customer's recipients, hidden
from the customer. null if the customer does not exist.
Add or remove one hidden recipient in a single statement, so concurrent toggles and customer saves never overwrite each other. Idempotent.
The hidden recipients after the change
Who will receive the email notification. Empty arrays means no one.
internalUserIds are CFX staff admin users, gated on user-shadow:r
by the caller.
Whether to send a Slack notification or not.
Who will receive the SMS notification. Empty arrays means no one.
Create or update the customer notification preferences
The top-level fields are replaced completely if present, i.e. if email preferences are supplied, it overrides the persisted values but leaves slack preferences as-is. The internal recipients are another top-level key, so no upsert touches them.
Manage customer-wide notification preferences, kept on the customer's dashboard workspace