|
|
@ -65,7 +65,19 @@ pub async fn create_room_route(
|
|
|
|
let mut content = ruma::events::room::create::CreateEventContent::new(sender_user.clone());
|
|
|
|
let mut content = ruma::events::room::create::CreateEventContent::new(sender_user.clone());
|
|
|
|
content.federate = body.creation_content.federate;
|
|
|
|
content.federate = body.creation_content.federate;
|
|
|
|
content.predecessor = body.creation_content.predecessor.clone();
|
|
|
|
content.predecessor = body.creation_content.predecessor.clone();
|
|
|
|
content.room_version = RoomVersionId::Version6;
|
|
|
|
content.room_version = match body.room_version.clone() {
|
|
|
|
|
|
|
|
Some(room_version) => {
|
|
|
|
|
|
|
|
if room_version == RoomVersionId::Version5 || room_version == RoomVersionId::Version6 {
|
|
|
|
|
|
|
|
room_version
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return Err(Error::BadRequest(
|
|
|
|
|
|
|
|
ErrorKind::UnsupportedRoomVersion,
|
|
|
|
|
|
|
|
"This server does not support that room version.",
|
|
|
|
|
|
|
|
));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
None => RoomVersionId::Version6,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 1. The room create event
|
|
|
|
// 1. The room create event
|
|
|
|
db.rooms.build_and_append_pdu(
|
|
|
|
db.rooms.build_and_append_pdu(
|
|
|
|