Update ruma-appservice-api to new API conventions
This commit is contained in:
		
							parent
							
								
									a0a1987bbf
								
							
						
					
					
						commit
						daf37063aa
					
				| @ -1,7 +1,7 @@ | ||||
| //! Crate ruma_appservice_api contains serializable types for the requests and responses for each
 | ||||
| //! endpoint in the [Matrix](https://matrix.org/) application service API specification. These
 | ||||
| //! types can be shared by application service and server code.
 | ||||
| 
 | ||||
| #![warn(missing_copy_implementations, missing_debug_implementations, missing_docs)] | ||||
| #![allow(clippy::new_without_default)] | ||||
| 
 | ||||
| pub mod v1; | ||||
|  | ||||
| @ -19,11 +19,26 @@ ruma_api! { | ||||
|         ///
 | ||||
|         /// Homeservers generate these IDs and they are used to ensure idempotency of results.
 | ||||
|         #[ruma_api(path)] | ||||
|         pub txn_id: String, | ||||
|         pub txn_id: &'a str, | ||||
| 
 | ||||
|         /// A list of events.
 | ||||
|         #[ruma_api(body)] | ||||
|         pub events: Vec<Raw<AnyEvent>>, | ||||
|         pub events: &'a [Raw<AnyEvent>], | ||||
|     } | ||||
| 
 | ||||
|     response: {} | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given transaction ID and list of events.
 | ||||
|     pub fn new(txn_id: &'a str, events: &'a [Raw<AnyEvent>]) -> Self { | ||||
|         Self { txn_id, events } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Creates an empty `Response`.
 | ||||
|     pub fn new() -> Self { | ||||
|         Self | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -16,8 +16,22 @@ ruma_api! { | ||||
|     request: { | ||||
|         /// The room alias being queried.
 | ||||
|         #[ruma_api(path)] | ||||
|         pub room_alias: RoomAliasId, | ||||
|         pub room_alias: &'a RoomAliasId, | ||||
|     } | ||||
| 
 | ||||
|     response: {} | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given room alias.
 | ||||
|     pub fn new(room_alias: &'a RoomAliasId) -> Self { | ||||
|         Self { room_alias } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Create an empty `Response`.
 | ||||
|     pub fn new() -> Self { | ||||
|         Self | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -16,8 +16,22 @@ ruma_api! { | ||||
|     request: { | ||||
|         /// The user ID being queried.
 | ||||
|         #[ruma_api(path)] | ||||
|         pub user_id: UserId, | ||||
|         pub user_id: &'a UserId, | ||||
|     } | ||||
| 
 | ||||
|     response: {} | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given user id.
 | ||||
|     pub fn new(user_id: &'a UserId) -> Self { | ||||
|         Self { user_id } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Creates an empty `Response`.
 | ||||
|     pub fn new() -> Self { | ||||
|         Self | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -19,7 +19,8 @@ ruma_api! { | ||||
|     request: { | ||||
|         /// The protocol used to communicate to the third party network.
 | ||||
|         #[ruma_api(path)] | ||||
|         pub protocol: String, | ||||
|         pub protocol: &'a str, | ||||
| 
 | ||||
|         /// One or more custom fields to help identify the third party location.
 | ||||
|         // The specification is incorrect for this parameter. See matrix-org/matrix-doc#2352.
 | ||||
|         #[ruma_api(query_map)] | ||||
| @ -32,3 +33,17 @@ ruma_api! { | ||||
|         pub locations: Vec<Location>, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given protocol.
 | ||||
|     pub fn new(protocol: &'a str) -> Self { | ||||
|         Self { protocol, fields: BTreeMap::new() } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Creates a new `Response` with the given locations.
 | ||||
|     pub fn new(locations: Vec<Location>) -> Self { | ||||
|         Self { locations } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -18,7 +18,7 @@ ruma_api! { | ||||
|     request: { | ||||
|         /// The Matrix room alias to look up.
 | ||||
|         #[ruma_api(query)] | ||||
|         pub alias: RoomAliasId, | ||||
|         pub alias: &'a RoomAliasId, | ||||
|     } | ||||
| 
 | ||||
|     response: { | ||||
| @ -27,3 +27,17 @@ ruma_api! { | ||||
|         pub locations: Vec<Location>, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given room alias id.
 | ||||
|     pub fn new(alias: &'a RoomAliasId) -> Self { | ||||
|         Self { alias } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Creates a new `Response` with the given locations.
 | ||||
|     pub fn new(locations: Vec<Location>) -> Self { | ||||
|         Self { locations } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -17,7 +17,7 @@ ruma_api! { | ||||
|     request: { | ||||
|         /// The name of the protocol.
 | ||||
|         #[ruma_api(path)] | ||||
|         pub protocol: String, | ||||
|         pub protocol: &'a str, | ||||
|     } | ||||
| 
 | ||||
|     response: { | ||||
| @ -26,3 +26,17 @@ ruma_api! { | ||||
|         pub protocol: Protocol, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given protocol name.
 | ||||
|     pub fn new(protocol: &'a str) -> Self { | ||||
|         Self { protocol } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Creates a new `Response` with the given protocol.
 | ||||
|     pub fn new(protocol: Protocol) -> Self { | ||||
|         Self { protocol } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -19,7 +19,8 @@ ruma_api! { | ||||
|     request: { | ||||
|         /// The protocol used to communicate to the third party network.
 | ||||
|         #[ruma_api(path)] | ||||
|         pub protocol: String, | ||||
|         pub protocol: &'a str, | ||||
| 
 | ||||
|         /// One or more custom fields that are passed to the AS to help identify the user.
 | ||||
|         // The specification is incorrect for this parameter. See matrix-org/matrix-doc#2352.
 | ||||
|         #[ruma_api(query_map)] | ||||
| @ -32,3 +33,17 @@ ruma_api! { | ||||
|         pub users: Vec<User>, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given protocol name.
 | ||||
|     pub fn new(protocol: &'a str) -> Self { | ||||
|         Self { protocol, fields: BTreeMap::new() } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Creates a new `Response` with the given users.
 | ||||
|     pub fn new(users: Vec<User>) -> Self { | ||||
|         Self { users } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -18,7 +18,7 @@ ruma_api! { | ||||
|     request: { | ||||
|         /// The Matrix User ID to look up.
 | ||||
|         #[ruma_api(query)] | ||||
|         pub userid: UserId, | ||||
|         pub userid: &'a UserId, | ||||
|     } | ||||
| 
 | ||||
|     response: { | ||||
| @ -27,3 +27,17 @@ ruma_api! { | ||||
|         pub users: Vec<User>, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'a> Request<'a> { | ||||
|     /// Creates a new `Request` with the given user id.
 | ||||
|     pub fn new(userid: &'a UserId) -> Self { | ||||
|         Self { userid } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Response { | ||||
|     /// Creates a new `Response` with the given users.
 | ||||
|     pub fn new(users: Vec<User>) -> Self { | ||||
|         Self { users } | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user