Add types for account contact information endpoints.
This commit is contained in:
		
							parent
							
								
									29cbb4c0c7
								
							
						
					
					
						commit
						b992542fae
					
				@ -1 +1,120 @@
 | 
				
			|||||||
//! Endpoints for account contact information.
 | 
					//! Endpoints for account contact information.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// POST /_matrix/client/r0/account/3pid
 | 
				
			||||||
 | 
					pub mod add_contact {
 | 
				
			||||||
 | 
					    /// This API endpoint's body parameters.
 | 
				
			||||||
 | 
					    #[derive(Clone, Debug, Deserialize, Serialize)]
 | 
				
			||||||
 | 
					    pub struct BodyParams {
 | 
				
			||||||
 | 
					        pub bind: Option<bool>,
 | 
				
			||||||
 | 
					        pub three_pid_creds: ThreePidCredentials,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Details about this API endpoint.
 | 
				
			||||||
 | 
					    pub struct Endpoint;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// The third party credentials to associate with the account.
 | 
				
			||||||
 | 
					    #[derive(Clone, Debug, Deserialize, Serialize)]
 | 
				
			||||||
 | 
					    pub struct ThreePidCredentials {
 | 
				
			||||||
 | 
					        client_secret: String,
 | 
				
			||||||
 | 
					        id_server: String,
 | 
				
			||||||
 | 
					        sid: String,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    impl ::Endpoint for Endpoint {
 | 
				
			||||||
 | 
					        type BodyParams = BodyParams;
 | 
				
			||||||
 | 
					        type PathParams = ();
 | 
				
			||||||
 | 
					        type QueryParams = ();
 | 
				
			||||||
 | 
					        type Response = ();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn method() -> ::Method {
 | 
				
			||||||
 | 
					            ::Method::Post
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn request_path(_params: Self::PathParams) -> String {
 | 
				
			||||||
 | 
					            Self::router_path()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn router_path() -> String {
 | 
				
			||||||
 | 
					            "/_matrix/client/r0/account/3pid".to_string()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// GET /_matrix/client/r0/account/3pid
 | 
				
			||||||
 | 
					pub mod get_contacts {
 | 
				
			||||||
 | 
					    /// Details about this API endpoint.
 | 
				
			||||||
 | 
					    pub struct Endpoint;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// The medium of third party identifier.
 | 
				
			||||||
 | 
					    #[derive(Clone, Copy, Debug, Deserialize, Serialize)]
 | 
				
			||||||
 | 
					    pub enum Medium {
 | 
				
			||||||
 | 
					        #[serde(rename="email")]
 | 
				
			||||||
 | 
					        Email,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// This API endpoint's response.
 | 
				
			||||||
 | 
					    #[derive(Clone, Debug, Deserialize, Serialize)]
 | 
				
			||||||
 | 
					    pub struct Response {
 | 
				
			||||||
 | 
					        pub threepids: Vec<ThirdPartyIdentifier>,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// An identifier external to Matrix.
 | 
				
			||||||
 | 
					    #[derive(Clone, Debug, Deserialize, Serialize)]
 | 
				
			||||||
 | 
					    pub struct ThirdPartyIdentifier {
 | 
				
			||||||
 | 
					        pub address: String,
 | 
				
			||||||
 | 
					        pub medium: Medium,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    impl ::Endpoint for Endpoint {
 | 
				
			||||||
 | 
					        type BodyParams = ();
 | 
				
			||||||
 | 
					        type PathParams = ();
 | 
				
			||||||
 | 
					        type QueryParams = ();
 | 
				
			||||||
 | 
					        type Response = Response;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn method() -> ::Method {
 | 
				
			||||||
 | 
					            ::Method::Get
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn request_path(_params: Self::PathParams) -> String {
 | 
				
			||||||
 | 
					            Self::router_path()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn router_path() -> String {
 | 
				
			||||||
 | 
					            "/_matrix/client/r0/account/3pid/email/requestToken".to_string()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// POST /_matrix/client/r0/account/3pid/email/requestToken
 | 
				
			||||||
 | 
					pub mod request_contact_verification_token {
 | 
				
			||||||
 | 
					    /// This API endpoint's body parameters.
 | 
				
			||||||
 | 
					    #[derive(Clone, Debug, Deserialize, Serialize)]
 | 
				
			||||||
 | 
					    pub struct BodyParams {
 | 
				
			||||||
 | 
					        pub client_secret: String,
 | 
				
			||||||
 | 
					        pub email: String,
 | 
				
			||||||
 | 
					        pub id_server: Option<String>,
 | 
				
			||||||
 | 
					        pub send_attempt: u64,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Details about this API endpoint.
 | 
				
			||||||
 | 
					    pub struct Endpoint;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    impl ::Endpoint for Endpoint {
 | 
				
			||||||
 | 
					        type BodyParams = BodyParams;
 | 
				
			||||||
 | 
					        type PathParams = ();
 | 
				
			||||||
 | 
					        type QueryParams = ();
 | 
				
			||||||
 | 
					        type Response = ();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn method() -> ::Method {
 | 
				
			||||||
 | 
					            ::Method::Post
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn request_path(_params: Self::PathParams) -> String {
 | 
				
			||||||
 | 
					            Self::router_path()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fn router_path() -> String {
 | 
				
			||||||
 | 
					            "/_matrix/client/r0/account/3pid/email/requestToken".to_string()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user