use body.dir for relations now

Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
strawberry 2024-03-27 15:21:46 -04:00 committed by June
parent 92dbe82675
commit fa71dd4b4c
2 changed files with 21 additions and 13 deletions

View file

@ -12,8 +12,7 @@ pub async fn get_relating_events_with_rel_type_and_event_type_route(
let from = match body.from.clone() { let from = match body.from.clone() {
Some(from) => PduCount::try_from_string(&from)?, Some(from) => PduCount::try_from_string(&from)?,
None => match ruma::api::Direction::Backward { None => match body.dir {
// TODO: fix ruma so `body.dir` exists
ruma::api::Direction::Forward => PduCount::min(), ruma::api::Direction::Forward => PduCount::min(),
ruma::api::Direction::Backward => PduCount::max(), ruma::api::Direction::Backward => PduCount::max(),
}, },
@ -41,6 +40,7 @@ pub async fn get_relating_events_with_rel_type_and_event_type_route(
&Some(body.event_type.clone()), &Some(body.event_type.clone()),
&Some(body.rel_type.clone()), &Some(body.rel_type.clone()),
from, from,
body.dir,
to, to,
limit, limit,
)?; )?;
@ -61,8 +61,7 @@ pub async fn get_relating_events_with_rel_type_route(
let from = match body.from.clone() { let from = match body.from.clone() {
Some(from) => PduCount::try_from_string(&from)?, Some(from) => PduCount::try_from_string(&from)?,
None => match ruma::api::Direction::Backward { None => match body.dir {
// TODO: fix ruma so `body.dir` exists
ruma::api::Direction::Forward => PduCount::min(), ruma::api::Direction::Forward => PduCount::min(),
ruma::api::Direction::Backward => PduCount::max(), ruma::api::Direction::Backward => PduCount::max(),
}, },
@ -90,6 +89,7 @@ pub async fn get_relating_events_with_rel_type_route(
&None, &None,
&Some(body.rel_type.clone()), &Some(body.rel_type.clone()),
from, from,
body.dir,
to, to,
limit, limit,
)?; )?;
@ -110,8 +110,7 @@ pub async fn get_relating_events_route(
let from = match body.from.clone() { let from = match body.from.clone() {
Some(from) => PduCount::try_from_string(&from)?, Some(from) => PduCount::try_from_string(&from)?,
None => match ruma::api::Direction::Backward { None => match body.dir {
// TODO: fix ruma so `body.dir` exists
ruma::api::Direction::Forward => PduCount::min(), ruma::api::Direction::Forward => PduCount::min(),
ruma::api::Direction::Backward => PduCount::max(), ruma::api::Direction::Backward => PduCount::max(),
}, },
@ -132,5 +131,15 @@ pub async fn get_relating_events_route(
services() services()
.rooms .rooms
.pdu_metadata .pdu_metadata
.paginate_relations_with_filter(sender_user, &body.room_id, &body.event_id, &None, &None, from, to, limit) .paginate_relations_with_filter(
sender_user,
&body.room_id,
&body.event_id,
&None,
&None,
from,
body.dir,
to,
limit,
)
} }

View file

@ -3,7 +3,7 @@ use std::sync::Arc;
pub use data::Data; pub use data::Data;
use ruma::{ use ruma::{
api::client::relations::get_relating_events, api::{client::relations::get_relating_events, Direction},
events::{relation::RelationType, TimelineEventType}, events::{relation::RelationType, TimelineEventType},
EventId, RoomId, UserId, EventId, RoomId, UserId,
}; };
@ -42,13 +42,12 @@ impl Service {
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub fn paginate_relations_with_filter( pub fn paginate_relations_with_filter(
&self, sender_user: &UserId, room_id: &RoomId, target: &EventId, filter_event_type: &Option<TimelineEventType>, &self, sender_user: &UserId, room_id: &RoomId, target: &EventId, filter_event_type: &Option<TimelineEventType>,
filter_rel_type: &Option<RelationType>, from: PduCount, to: Option<PduCount>, limit: usize, filter_rel_type: &Option<RelationType>, from: PduCount, dir: Direction, to: Option<PduCount>, limit: usize,
) -> Result<get_relating_events::v1::Response> { ) -> Result<get_relating_events::v1::Response> {
let next_token; let next_token;
//TODO: Fix ruma: match body.dir { match dir {
match ruma::api::Direction::Backward { Direction::Forward => {
ruma::api::Direction::Forward => {
let events_after: Vec<_> = services() let events_after: Vec<_> = services()
.rooms .rooms
.pdu_metadata .pdu_metadata
@ -94,7 +93,7 @@ impl Service {
recursion_depth: None, // TODO recursion_depth: None, // TODO
}) })
}, },
ruma::api::Direction::Backward => { Direction::Backward => {
let events_before: Vec<_> = services() let events_before: Vec<_> = services()
.rooms .rooms
.pdu_metadata .pdu_metadata