diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2023-05-02 07:59:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-02 07:59:55 -0400 |
commit | 07b1c70d6b11d6b8feca23442a09b60ab0c930e3 (patch) | |
tree | 707b1e7702b708a7b3a27bafbdf6b2e1822cff4f /synapse/handlers/relations.py | |
parent | Bump anyhow from 1.0.70 to 1.0.71 (#15507) (diff) | |
download | synapse-07b1c70d6b11d6b8feca23442a09b60ab0c930e3.tar.xz |
Initial implementation of MSC3981: recursive relations API (#15315)
Adds an optional keyword argument to the /relations API which will recurse a limited number of event relationships. This will cause the API to return not just the events related to the parent event, but also events related to those related to the parent event, etc. This is disabled by default behind an experimental configuration flag and is currently implemented using prefixed parameters.
Diffstat (limited to 'synapse/handlers/relations.py')
-rw-r--r-- | synapse/handlers/relations.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/synapse/handlers/relations.py b/synapse/handlers/relations.py index 1d09fdf135..4824635162 100644 --- a/synapse/handlers/relations.py +++ b/synapse/handlers/relations.py @@ -85,6 +85,7 @@ class RelationsHandler: event_id: str, room_id: str, pagin_config: PaginationConfig, + recurse: bool, include_original_event: bool, relation_type: Optional[str] = None, event_type: Optional[str] = None, @@ -98,6 +99,7 @@ class RelationsHandler: event_id: Fetch events that relate to this event ID. room_id: The room the event belongs to. pagin_config: The pagination config rules to apply, if any. + recurse: Whether to recursively find relations. include_original_event: Whether to include the parent event. relation_type: Only fetch events with this relation type, if given. event_type: Only fetch events with this event type, if given. @@ -132,6 +134,7 @@ class RelationsHandler: direction=pagin_config.direction, from_token=pagin_config.from_token, to_token=pagin_config.to_token, + recurse=recurse, ) events = await self._main_store.get_events_as_list( |