client-api: Add m.get_login_token capability
According to a clarification in the spec.
This commit is contained in:
parent
85b412ffed
commit
12a2e9342b
@ -34,6 +34,8 @@ Improvements:
|
|||||||
- Change types of `SyncRequestListFilters::{room_types,not_room_types}` to
|
- Change types of `SyncRequestListFilters::{room_types,not_room_types}` to
|
||||||
`Vec<RoomTypeFilter>` instead of a vector of strings
|
`Vec<RoomTypeFilter>` instead of a vector of strings
|
||||||
- This is a breaking change, but only for users of `unstable-msc3575`
|
- This is a breaking change, but only for users of `unstable-msc3575`
|
||||||
|
- Add the `get_login_token` field to `Capabilities`, according to a
|
||||||
|
clarification in the spec.
|
||||||
|
|
||||||
Bug fixes:
|
Bug fixes:
|
||||||
|
|
||||||
|
@ -63,6 +63,15 @@ pub struct Capabilities {
|
|||||||
)]
|
)]
|
||||||
pub thirdparty_id_changes: ThirdPartyIdChangesCapability,
|
pub thirdparty_id_changes: ThirdPartyIdChangesCapability,
|
||||||
|
|
||||||
|
/// Capability to indicate if the user can generate tokens to log further clients into their
|
||||||
|
/// account.
|
||||||
|
#[serde(
|
||||||
|
rename = "m.get_login_token",
|
||||||
|
default,
|
||||||
|
skip_serializing_if = "GetLoginTokenCapability::is_default"
|
||||||
|
)]
|
||||||
|
pub get_login_token: GetLoginTokenCapability,
|
||||||
|
|
||||||
/// Any other custom capabilities that the server supports outside of the specification,
|
/// Any other custom capabilities that the server supports outside of the specification,
|
||||||
/// labeled using the Java package naming convention and stored as arbitrary JSON values.
|
/// labeled using the Java package naming convention and stored as arbitrary JSON values.
|
||||||
#[serde(flatten)]
|
#[serde(flatten)]
|
||||||
@ -292,6 +301,26 @@ impl Default for ThirdPartyIdChangesCapability {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Information about the `m.get_login_token` capability.
|
||||||
|
#[derive(Clone, Debug, Default, Serialize, Deserialize)]
|
||||||
|
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
|
||||||
|
pub struct GetLoginTokenCapability {
|
||||||
|
/// Whether the user can request a login token.
|
||||||
|
pub enabled: bool,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl GetLoginTokenCapability {
|
||||||
|
/// Creates a new `GetLoginTokenCapability` with the given enabled flag.
|
||||||
|
pub fn new(enabled: bool) -> Self {
|
||||||
|
Self { enabled }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns whether all fields have their default value.
|
||||||
|
pub fn is_default(&self) -> bool {
|
||||||
|
!self.enabled
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user