The filter parameter to /sync can be a full filter definition or a filter ID.
This commit is contained in:
parent
9c1dd9e51f
commit
48727f1968
@ -4,25 +4,37 @@
|
|||||||
///
|
///
|
||||||
/// [Matrix spec link](http://matrix.org/docs/spec/client_server/r0.2.0.html#get-matrix-client-r0-sync)
|
/// [Matrix spec link](http://matrix.org/docs/spec/client_server/r0.2.0.html#get-matrix-client-r0-sync)
|
||||||
pub mod sync {
|
pub mod sync {
|
||||||
use ruma_identifiers::RoomId;
|
|
||||||
use ruma_events::collections::only;
|
use ruma_events::collections::only;
|
||||||
|
use ruma_identifiers::RoomId;
|
||||||
|
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
use r0::filter::FilterDefinition;
|
||||||
|
|
||||||
/// Details about this API endpoint.
|
/// Details about this API endpoint.
|
||||||
pub struct Endpoint;
|
pub struct Endpoint;
|
||||||
|
|
||||||
/// Wether to set presence or not during sync
|
/// Whether to set presence or not during sync.
|
||||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
pub enum SetPresence {
|
pub enum SetPresence {
|
||||||
#[serde(rename="offline")]
|
#[serde(rename="offline")]
|
||||||
Offline
|
Offline
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// A filter represented either as its full JSON definition or the ID of a saved filter.
|
||||||
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
|
pub enum Filter {
|
||||||
|
/// A complete filter definition serialized to JSON.
|
||||||
|
FilterDefinition(FilterDefinition),
|
||||||
|
/// The ID of a filter saved on the server.
|
||||||
|
FilterId(String),
|
||||||
|
}
|
||||||
|
|
||||||
/// This API endpoint's query parameters.
|
/// This API endpoint's query parameters.
|
||||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
pub struct QueryParams {
|
pub struct QueryParams {
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub filter: Option<String>,
|
pub filter: Option<Filter>,
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub since: Option<String>,
|
pub since: Option<String>,
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user