use body.dir for relations now
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
92dbe82675
commit
fa71dd4b4c
2 changed files with 21 additions and 13 deletions
|
@ -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,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue