#[non_exhaustive]
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<String>, pub not_room_types: Vec<String>, pub room_name_like: Option<String>, pub tags: Vec<String>, pub not_tags: Vec<String>, pub extensions: BTreeMap<String, Value>, }
Available on crate feature api and (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 (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.
§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<String>

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<String>

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§

§

impl Clone for SyncRequestListFilters

§

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
§

impl Debug for SyncRequestListFilters

§

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

Formats the value using the given formatter. Read more
§

impl Default for SyncRequestListFilters

§

fn default() -> SyncRequestListFilters

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

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

§

fn deserialize<__D>( __deserializer: __D ) -> Result<SyncRequestListFilters, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl Serialize for SyncRequestListFilters

§

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

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
§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
source§

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

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<>
§

fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
§

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

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

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

§

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>).
§

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§

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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>,

§

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.
§

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

§

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> Any for T
where T: Any,

source§

impl<T> AsyncTraitDeps for T

source§

impl<T> CloneAny for T
where T: Any + Clone,

source§

impl<T> CloneAnySend for T
where T: Any + Send + Clone,

source§

impl<T> CloneAnySendSync for T
where T: Any + Send + Sync + Clone,

source§

impl<T> CloneAnySync for T
where T: Any + Sync + Clone,

source§

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

source§

impl<T> SendOutsideWasm for T
where T: Send,

source§

impl<T> SyncOutsideWasm for T
where T: Sync,