pub struct SetNotificationPreferencesRequest {
pub client_operation_id: String,
pub preferences: Option<NotificationPreferences>,
pub expected_version: Vec<u8>,
pub clear_unreadable_scopes: bool,
}Expand description
Atomic settings replacement under expected_version. Read-only projection fields (effective_delivery and next_digest_at, including overrides) are ignored and recomputed, never persisted or used as authority. The server MUST validate every rule and digest interval before writing; invalid delivery or cadence rejects the whole request. Portable helpers complement remaining host validation of timezone, selectors, duplicate overrides and input budgets.
Fields§
§client_operation_id: String§preferences: Option<NotificationPreferences>§expected_version: Vec<u8>§clear_unreadable_scopes: boolDefault false: preserve existing rules AND digest overrides on scopes the caller cannot currently read. Replace only account/currently readable scopes. True explicitly clears ALL unreadable scopes without disclosing their IDs. New unreadable selectors are rejected. Resolve readability transactionally with expected_version; preserve hidden state before checking storage budgets.
Trait Implementations§
Source§impl Clone for SetNotificationPreferencesRequest
impl Clone for SetNotificationPreferencesRequest
Source§fn clone(&self) -> SetNotificationPreferencesRequest
fn clone(&self) -> SetNotificationPreferencesRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for SetNotificationPreferencesRequest
impl Default for SetNotificationPreferencesRequest
Source§fn default() -> SetNotificationPreferencesRequest
fn default() -> SetNotificationPreferencesRequest
Source§impl Message for SetNotificationPreferencesRequest
impl Message for SetNotificationPreferencesRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.impl StructuralPartialEq for SetNotificationPreferencesRequest
Auto Trait Implementations§
impl Freeze for SetNotificationPreferencesRequest
impl RefUnwindSafe for SetNotificationPreferencesRequest
impl Send for SetNotificationPreferencesRequest
impl Sync for SetNotificationPreferencesRequest
impl Unpin for SetNotificationPreferencesRequest
impl UnsafeUnpin for SetNotificationPreferencesRequest
impl UnwindSafe for SetNotificationPreferencesRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more