Struct ruma::api::client::sync::sync_events::v4::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>,
}
client-api-c
or client-api-s
) and (crate features client
or server
) and crate feature api
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%’.
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).
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
impl Clone for SyncRequestListFilters
source§fn clone(&self) -> SyncRequestListFilters
fn clone(&self) -> SyncRequestListFilters
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SyncRequestListFilters
impl Debug for SyncRequestListFilters
source§impl Default for SyncRequestListFilters
impl Default for SyncRequestListFilters
source§fn default() -> SyncRequestListFilters
fn default() -> SyncRequestListFilters
source§impl<'de> Deserialize<'de> for SyncRequestListFilters
impl<'de> Deserialize<'de> for SyncRequestListFilters
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SyncRequestListFilters, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SyncRequestListFilters, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl Serialize for SyncRequestListFilters
impl Serialize for SyncRequestListFilters
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,
Auto Trait Implementations§
impl Freeze for SyncRequestListFilters
impl RefUnwindSafe for SyncRequestListFilters
impl Send for SyncRequestListFilters
impl Sync for SyncRequestListFilters
impl Unpin for SyncRequestListFilters
impl UnwindSafe for SyncRequestListFilters
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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>
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>
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