use serde::{Deserialize, Serialize}; // 5.4.1 GET /_matrix/client/r0/login /// Response for 5.4.1: GET /_matrix/client/r0/login #[derive(Deserialize)] pub struct ValidLoginFlows { pub flows: Option, } #[derive(Deserialize)] pub struct LoginFlow { pub r#type: Option, } // 5.4.2 POST /_matrix/client/r0/login /// Known identifier types for authentication methods. See [Section 5.3.6](https://matrix.org/docs/spec/client_server/r0.5.0#identifier-types) /// for more details. #[derive(Deserialize, Serialize)] pub enum IdentifierType { #[serde(rename = "m.id.user")] User, #[serde(rename = "m.id.thirdparty")] ThirdParty, #[serde(rename = "m.id.phone")] Phone } /// Response for a valid login from 5.4.2: POST /_matrix/client/r0/login #[derive(Deserialize)] pub struct LoginResponse { pub user_id: Option, pub access_token: Option, pub home_server: Option, pub device_id: Option, pub well_known: Option, } #[derive(Deserialize)] pub struct DiscoveryInformation {}