#[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: boolWhether this is a default rule, or has been set explicitly.
enabled: boolWhether the push rule is enabled or not.
rule_id: StringThe 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
Source§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§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
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,
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>
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