diff --git a/src/r0/room.rs b/src/r0/room.rs index c0ab2146..52853f4e 100644 --- a/src/r0/room.rs +++ b/src/r0/room.rs @@ -3,6 +3,7 @@ pub mod create_room; pub mod get_room_event; pub mod report_content; +pub mod upgrade_room; use serde::{Deserialize, Serialize}; diff --git a/src/r0/room/upgrade_room.rs b/src/r0/room/upgrade_room.rs new file mode 100644 index 00000000..85ab9ee3 --- /dev/null +++ b/src/r0/room/upgrade_room.rs @@ -0,0 +1,28 @@ +//! [POST /_matrix/client/r0/rooms/{roomId}/upgrade](https://matrix.org/docs/spec/client_server/r0.6.0#post-matrix-client-r0-rooms-roomid-upgrade) + +use ruma_api::ruma_api; +use ruma_identifiers::RoomId; + +ruma_api! { + metadata { + description: "Upgrades a room to a particular version.", + method: POST, + name: "upgrade_room", + path: "/_matrix/client/r0/rooms/:room_id/upgrade", + rate_limited: false, + requires_authentication: true, + } + + request { + /// ID of the room to be upgraded. + #[ruma_api(path)] + room_id: RoomId, + /// New version for the room. + new_version: String, + } + + response { + /// ID of the new room. + replacement_room: RoomId, + } +}