Struct ruma_client_api::r0::push::PushRule[][src]

#[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>, }

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)

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

impl Clone for PushRule[src]

impl Debug for PushRule[src]

impl<'de> Deserialize<'de> for PushRule[src]

impl From<ConditionalPushRule> for PushRule[src]

impl From<ConditionalPushRuleInit> for PushRule[src]

impl From<PatternedPushRule> for PushRule[src]

impl From<PatternedPushRuleInit> for PushRule[src]

impl From<SimplePushRule> for PushRule[src]

impl From<SimplePushRuleInit> for PushRule[src]

impl Serialize for PushRule[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.