pub struct NotificationPreference {
pub id: Uuid,
pub user_id: Uuid,
pub notification_type: NotificationType,
pub email_enabled: bool,
pub in_app_enabled: bool,
pub push_enabled: bool,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
User Notification Preferences
Allows users to opt-in/opt-out of specific notification types per channel
Fields§
§id: Uuid§user_id: Uuid§notification_type: NotificationType§email_enabled: bool§in_app_enabled: bool§push_enabled: bool§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl NotificationPreference
impl NotificationPreference
Sourcepub fn new(user_id: Uuid, notification_type: NotificationType) -> Self
pub fn new(user_id: Uuid, notification_type: NotificationType) -> Self
Create new notification preference with default settings
Sourcepub fn set_channel_enabled(
&mut self,
channel: NotificationChannel,
enabled: bool,
)
pub fn set_channel_enabled( &mut self, channel: NotificationChannel, enabled: bool, )
Update preference for a specific channel
Sourcepub fn is_channel_enabled(&self, channel: &NotificationChannel) -> bool
pub fn is_channel_enabled(&self, channel: &NotificationChannel) -> bool
Check if a channel is enabled
Trait Implementations§
Source§impl Clone for NotificationPreference
impl Clone for NotificationPreference
Source§fn clone(&self) -> NotificationPreference
fn clone(&self) -> NotificationPreference
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NotificationPreference
impl Debug for NotificationPreference
Source§impl<'de> Deserialize<'de> for NotificationPreference
impl<'de> Deserialize<'de> for NotificationPreference
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<NotificationPreference> for NotificationPreferenceResponse
impl From<NotificationPreference> for NotificationPreferenceResponse
Source§fn from(preference: NotificationPreference) -> Self
fn from(preference: NotificationPreference) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for NotificationPreference
impl RefUnwindSafe for NotificationPreference
impl Send for NotificationPreference
impl Sync for NotificationPreference
impl Unpin for NotificationPreference
impl UnwindSafe for NotificationPreference
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
Mutably borrows from an owned value. Read more
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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 moreCreates a shared type from an unshared type.