don't automatically wrap in RumaResponse

This allows us to use the `ruma_route` convenience function even when we
need to add our own hacks into the responses, thus making us less
reliant on Ruma.
This commit is contained in:
Charles Hall 2024-05-18 18:31:36 -07:00
parent 87ac0e2a38
commit 230ebd3884
No known key found for this signature in database
GPG key ID: 7B8E0645816E07CF
35 changed files with 438 additions and 405 deletions

View file

@ -28,7 +28,7 @@ use crate::{
/// - If event is new `canonical_alias`: Rejects if alias is incorrect
pub(crate) async fn send_state_event_for_key_route(
body: Ruma<send_state_event::v3::Request>,
) -> Result<send_state_event::v3::Response> {
) -> Result<RumaResponse<send_state_event::v3::Response>> {
let sender_user = body.sender_user.as_ref().expect("user is authenticated");
let event_id = send_state_event_for_key_helper(
@ -42,9 +42,9 @@ pub(crate) async fn send_state_event_for_key_route(
.await?;
let event_id = (*event_id).to_owned();
Ok(send_state_event::v3::Response {
Ok(RumaResponse(send_state_event::v3::Response {
event_id,
})
}))
}
/// # `PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}`
@ -94,7 +94,7 @@ pub(crate) async fn send_state_event_for_empty_key_route(
/// readable
pub(crate) async fn get_state_events_route(
body: Ruma<get_state_events::v3::Request>,
) -> Result<get_state_events::v3::Response> {
) -> Result<RumaResponse<get_state_events::v3::Response>> {
let sender_user = body.sender_user.as_ref().expect("user is authenticated");
if !services()
@ -108,7 +108,7 @@ pub(crate) async fn get_state_events_route(
));
}
Ok(get_state_events::v3::Response {
Ok(RumaResponse(get_state_events::v3::Response {
room_state: services()
.rooms
.state_accessor
@ -117,7 +117,7 @@ pub(crate) async fn get_state_events_route(
.values()
.map(|pdu| pdu.to_state_event())
.collect(),
})
}))
}
/// # `GET /_matrix/client/r0/rooms/{roomid}/state/{eventType}/{stateKey}`
@ -128,7 +128,7 @@ pub(crate) async fn get_state_events_route(
/// readable
pub(crate) async fn get_state_events_for_key_route(
body: Ruma<get_state_events_for_key::v3::Request>,
) -> Result<get_state_events_for_key::v3::Response> {
) -> Result<RumaResponse<get_state_events_for_key::v3::Response>> {
let sender_user = body.sender_user.as_ref().expect("user is authenticated");
if !services()
@ -154,11 +154,11 @@ pub(crate) async fn get_state_events_for_key_route(
Error::BadRequest(ErrorKind::NotFound, "State event not found.")
})?;
Ok(get_state_events_for_key::v3::Response {
Ok(RumaResponse(get_state_events_for_key::v3::Response {
content: serde_json::from_str(event.content.get()).map_err(|_| {
Error::bad_database("Invalid event content in database")
})?,
})
}))
}
/// # `GET /_matrix/client/r0/rooms/{roomid}/state/{eventType}`