diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fc9a730..f13b2663 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # [unreleased] +Breaking changes: + +* Fix `r0::session::get_login_types` + # 0.6.0 Breaking changes: diff --git a/src/r0/session/get_login_types.rs b/src/r0/session/get_login_types.rs index ba891343..764a3b25 100644 --- a/src/r0/session/get_login_types.rs +++ b/src/r0/session/get_login_types.rs @@ -17,19 +17,11 @@ ruma_api! { response { /// The homeserver's supported login types. - pub flows: Vec + pub flows: Vec } } -/// A supported login type in a homeserver -#[derive(Clone, Copy, Debug, Deserialize, Serialize)] -pub struct LoginFlow { - /// The login type. - #[serde(rename = "type")] - pub login_type: LoginType, -} - -/// The authentication mechanism. +/// An authentication mechanism. #[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)] #[serde(tag = "type")] pub enum LoginType { @@ -40,3 +32,16 @@ pub enum LoginType { #[serde(rename = "m.login.token")] Token, } + +#[cfg(test)] +mod tests { + use super::LoginType; + + #[test] + fn deserialize_login_type() { + assert_eq!( + serde_json::from_str::(r#" {"type": "m.login.password"} "#).unwrap(), + LoginType::Password, + ); + } +}