#[non_exhaustive]pub struct PushRule {
pub actions: Vec<Action>,
pub default: bool,
pub enabled: bool,
pub rule_id: String,
pub conditions: Option<Vec<PushCondition>>,
pub pattern: Option<String>,
}
Available on crate feature
api
and (crate features client
or server
) only.Expand description
Like SimplePushRule
, but may represent any kind of push rule thanks to pattern
and
conditions
being optional.
To create an instance of this type, use one of its From
implementations.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.actions: Vec<Action>
The actions to perform when this rule is matched.
default: bool
Whether this is a default rule, or has been set explicitly.
enabled: bool
Whether the push rule is enabled or not.
rule_id: String
The ID of this rule.
conditions: Option<Vec<PushCondition>>
The conditions that must hold true for an event in order for a rule to be applied to an event.
A rule with no conditions always matches. Only applicable to underride and override rules.
pattern: Option<String>
The glob-style pattern to match against.
Only applicable to content rules.
Trait Implementations§
source§impl<'de> Deserialize<'de> for PushRule
impl<'de> Deserialize<'de> for PushRule
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PushRule, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PushRule, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<AnyPushRule> for PushRule
impl From<AnyPushRule> for PushRule
source§fn from(push_rule: AnyPushRule) -> PushRule
fn from(push_rule: AnyPushRule) -> PushRule
Converts to this type from the input type.
source§impl<'a> From<AnyPushRuleRef<'a>> for PushRule
impl<'a> From<AnyPushRuleRef<'a>> for PushRule
source§fn from(push_rule: AnyPushRuleRef<'a>) -> PushRule
fn from(push_rule: AnyPushRuleRef<'a>) -> PushRule
Converts to this type from the input type.
source§impl From<ConditionalPushRule> for PushRule
impl From<ConditionalPushRule> for PushRule
source§fn from(push_rule: ConditionalPushRule) -> PushRule
fn from(push_rule: ConditionalPushRule) -> PushRule
Converts to this type from the input type.
source§impl From<ConditionalPushRuleInit> for PushRule
impl From<ConditionalPushRuleInit> for PushRule
source§fn from(init: ConditionalPushRuleInit) -> PushRule
fn from(init: ConditionalPushRuleInit) -> PushRule
Converts to this type from the input type.
source§impl From<PatternedPushRule> for PushRule
impl From<PatternedPushRule> for PushRule
source§fn from(push_rule: PatternedPushRule) -> PushRule
fn from(push_rule: PatternedPushRule) -> PushRule
Converts to this type from the input type.
source§impl From<PatternedPushRuleInit> for PushRule
impl From<PatternedPushRuleInit> for PushRule
source§fn from(init: PatternedPushRuleInit) -> PushRule
fn from(init: PatternedPushRuleInit) -> PushRule
Converts to this type from the input type.
source§impl From<PushRule> for ConditionalPushRule
impl From<PushRule> for ConditionalPushRule
source§fn from(push_rule: PushRule) -> ConditionalPushRule
fn from(push_rule: PushRule) -> ConditionalPushRule
Converts to this type from the input type.
source§impl<T> From<SimplePushRule<T>> for PushRule
impl<T> From<SimplePushRule<T>> for PushRule
source§fn from(push_rule: SimplePushRule<T>) -> PushRule
fn from(push_rule: SimplePushRule<T>) -> PushRule
Converts to this type from the input type.
source§impl<T> From<SimplePushRuleInit<T>> for PushRule
impl<T> From<SimplePushRuleInit<T>> for PushRule
source§fn from(init: SimplePushRuleInit<T>) -> PushRule
fn from(init: SimplePushRuleInit<T>) -> PushRule
Converts to this type from the input type.
source§impl Serialize for PushRule
impl Serialize for PushRule
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
source§impl TryFrom<PushRule> for PatternedPushRule
impl TryFrom<PushRule> for PatternedPushRule
§type Error = MissingPatternError
type Error = MissingPatternError
The type returned in the event of a conversion error.
source§fn try_from(
push_rule: PushRule,
) -> Result<PatternedPushRule, <PatternedPushRule as TryFrom<PushRule>>::Error>
fn try_from( push_rule: PushRule, ) -> Result<PatternedPushRule, <PatternedPushRule as TryFrom<PushRule>>::Error>
Performs the conversion.
source§impl<T> TryFrom<PushRule> for SimplePushRule<T>
impl<T> TryFrom<PushRule> for SimplePushRule<T>
Auto Trait Implementations§
impl Freeze for PushRule
impl RefUnwindSafe for PushRule
impl Send for PushRule
impl Sync for PushRule
impl Unpin for PushRule
impl UnwindSafe for PushRule
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> CompatExt for T
impl<T> CompatExt for T
source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<>
source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§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 more