|
|
|
@ -274,21 +274,35 @@ fn create_room_route( |
|
|
|
) -> MatrixResult<create_room::Response> { |
|
|
|
) -> MatrixResult<create_room::Response> { |
|
|
|
// TODO: check if room is unique
|
|
|
|
// TODO: check if room is unique
|
|
|
|
let room_id = RoomId::new(data.hostname()).expect("host is valid"); |
|
|
|
let room_id = RoomId::new(data.hostname()).expect("host is valid"); |
|
|
|
|
|
|
|
let user_id = body.user_id.clone().expect("user is authenticated"); |
|
|
|
|
|
|
|
|
|
|
|
data.pdu_append( |
|
|
|
data.pdu_append( |
|
|
|
room_id.clone(), |
|
|
|
room_id.clone(), |
|
|
|
body.user_id.clone().expect("user is authenticated"), |
|
|
|
user_id.clone(), |
|
|
|
EventType::RoomMessage, |
|
|
|
EventType::RoomCreate, |
|
|
|
json!({"msgtype": "m.text", "body": "Hello"}), |
|
|
|
json!({ "creator": user_id }), |
|
|
|
None, |
|
|
|
None, |
|
|
|
|
|
|
|
Some("".to_owned()), |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
data.pdu_append( |
|
|
|
|
|
|
|
room_id.clone(), |
|
|
|
|
|
|
|
user_id.clone(), |
|
|
|
|
|
|
|
EventType::RoomName, |
|
|
|
|
|
|
|
json!({"name": body.name}), |
|
|
|
None, |
|
|
|
None, |
|
|
|
|
|
|
|
Some("".to_owned()), |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
data.pdu_append( |
|
|
|
data.room_join( |
|
|
|
room_id.clone(), |
|
|
|
&room_id, |
|
|
|
user_id.clone(), |
|
|
|
body.user_id.as_ref().expect("user is authenticated"), |
|
|
|
EventType::RoomTopic, |
|
|
|
|
|
|
|
json!({"topic": body.topic}), |
|
|
|
|
|
|
|
None, |
|
|
|
|
|
|
|
Some("".to_owned()), |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data.room_join(&room_id, &user_id); |
|
|
|
|
|
|
|
|
|
|
|
MatrixResult(Ok(create_room::Response { room_id })) |
|
|
|
MatrixResult(Ok(create_room::Response { room_id })) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|