25 lines
1.0 KiB
Rust
25 lines
1.0 KiB
Rust
//! Types for the [`m.identity_server`] event.
|
|
//!
|
|
//! [`m.identity_server`]: https://spec.matrix.org/v1.2/client-server-api/#mdirect
|
|
|
|
use js_option::JsOption;
|
|
use ruma_macros::EventContent;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
/// The content of an `m.identity_server` event.
|
|
///
|
|
/// Persists the user's preferred identity server, or preference to not use an identity server at
|
|
/// all.
|
|
#[derive(Clone, Debug, Deserialize, Serialize, EventContent)]
|
|
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
|
|
#[ruma_event(type = "m.identity_server", kind = GlobalAccountData)]
|
|
pub struct IdentityServerEventContent {
|
|
/// The URL of the identity server the user prefers to use, or `Null` if the user does not want
|
|
/// to use an identity server.
|
|
///
|
|
/// If this is `Undefined`, that means the user has not expressed a preference or has revoked
|
|
/// their preference, and any applicable default should be used.
|
|
#[serde(default, skip_serializing_if = "JsOption::is_undefined")]
|
|
pub base_url: JsOption<String>,
|
|
}
|