ruma_client_api::sync::sync_events::v4

Struct SyncRequestListFilters

Source
pub struct SyncRequestListFilters {
    pub is_dm: Option<bool>,
    pub spaces: Vec<String>,
    pub is_encrypted: Option<bool>,
    pub is_invite: Option<bool>,
    pub is_tombstoned: Option<bool>,
    pub room_types: Vec<RoomTypeFilter>,
    pub not_room_types: Vec<RoomTypeFilter>,
    pub room_name_like: Option<String>,
    pub tags: Vec<String>,
    pub not_tags: Vec<String>,
    pub extensions: BTreeMap<String, Value>,
}
Available on (crate features client or server) and crate feature unstable-msc3575 only.
Expand description

Filter for a sliding sync list, set at request.

All fields are applied with AND operators, hence if is_dm is true and is_encrypted is true then only encrypted DM rooms will be returned. The absence of fields implies no filter on that criteria: it does NOT imply false.

Filters are considered sticky, meaning that the filter only has to be provided once and their parameters ‘sticks’ for future requests until a new filter overwrites them.

Fields§

§is_dm: Option<bool>

Whether to return DMs, non-DM rooms or both.

Flag which only returns rooms present (or not) in the DM section of account data. If unset, both DM rooms and non-DM rooms are returned. If false, only non-DM rooms are returned. If true, only DM rooms are returned.

§spaces: Vec<String>

Only list rooms that are spaces of these or all.

A list of spaces which target rooms must be a part of. For every invited/joined room for this user, ensure that there is a parent space event which is in this list. If unset, all rooms are included. Servers MUST NOT navigate subspaces. It is up to the client to give a complete list of spaces to navigate. Only rooms directly in these spaces will be returned.

§is_encrypted: Option<bool>

Whether to return encrypted, non-encrypted rooms or both.

Flag which only returns rooms which have an m.room.encryption state event. If unset, both encrypted and unencrypted rooms are returned. If false, only unencrypted rooms are returned. If true, only encrypted rooms are returned.

§is_invite: Option<bool>

Whether to return invited Rooms, only joined rooms or both.

Flag which only returns rooms the user is currently invited to. If unset, both invited and joined rooms are returned. If false, no invited rooms are returned. If true, only invited rooms are returned.

§is_tombstoned: Option<bool>

Whether to return Rooms with tombstones, only rooms without tombstones or both.

Flag which only returns rooms which have an m.room.tombstone state event. If unset, both tombstoned and un-tombstoned rooms are returned. If false, only un-tombstoned rooms are returned. If true, only tombstoned rooms are returned.

§room_types: Vec<RoomTypeFilter>

Only list rooms of given create-types or all.

If specified, only rooms where the m.room.create event has a type matching one of the strings in this array will be returned. If this field is unset, all rooms are returned regardless of type. This can be used to get the initial set of spaces for an account.

§not_room_types: Vec<RoomTypeFilter>

Only list rooms that are not of these create-types, or all.

Same as “room_types” but inverted. This can be used to filter out spaces from the room list.

§room_name_like: Option<String>

Only list rooms matching the given string, or all.

Filter the room name. Case-insensitive partial matching e.g ‘foo’ matches ‘abFooab’. The term ‘like’ is inspired by SQL ‘LIKE’, and the text here is similar to ‘%foo%’.

§tags: Vec<String>

Filter the room based on its room tags.

If multiple tags are present, a room can have any one of the listed tags (OR’d).

§not_tags: Vec<String>

Filter the room based on its room tags.

Takes priority over tags. For example, a room with tags A and B with filters tags:[A] not_tags:[B] would NOT be included because not_tags takes priority over tags. This filter is useful if your Rooms list does NOT include the list of favourite rooms again.

§extensions: BTreeMap<String, Value>

Extensions may add further fields to the filters.

Trait Implementations§

Source§

impl Clone for SyncRequestListFilters

Source§

fn clone(&self) -> SyncRequestListFilters

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SyncRequestListFilters

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SyncRequestListFilters

Source§

fn default() -> SyncRequestListFilters

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SyncRequestListFilters

Source§

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<ListFilters> for SyncRequestListFilters

Available on crate feature unstable-msc4186 only.
Source§

fn from(value: ListFilters) -> Self

Converts to this type from the input type.
Source§

impl Serialize for SyncRequestListFilters

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T