mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-11-12 00:06:42 -05:00
Add forward extremities endpoint to rooms admin API
GET /_synapse/admin/v1/rooms/<identifier>/forward_extremities now gets forward extremities for a room, returning count and the list of extremities. Signed-off-by: Jason Robinson <jasonr@matrix.org>
This commit is contained in:
parent
b530eaa262
commit
b849e46139
4 changed files with 77 additions and 0 deletions
|
|
@ -43,6 +43,7 @@ from .end_to_end_keys import EndToEndKeyStore
|
|||
from .event_federation import EventFederationStore
|
||||
from .event_push_actions import EventPushActionsStore
|
||||
from .events_bg_updates import EventsBackgroundUpdatesStore
|
||||
from .events_forward_extremities import EventForwardExtremitiesStore
|
||||
from .filtering import FilteringStore
|
||||
from .group_server import GroupServerStore
|
||||
from .keys import KeyStore
|
||||
|
|
@ -118,6 +119,7 @@ class DataStore(
|
|||
UIAuthStore,
|
||||
CacheInvalidationWorkerStore,
|
||||
ServerMetricsStore,
|
||||
EventForwardExtremitiesStore,
|
||||
):
|
||||
def __init__(self, database: DatabasePool, db_conn, hs):
|
||||
self.hs = hs
|
||||
|
|
|
|||
20
synapse/storage/databases/main/events_forward_extremities.py
Normal file
20
synapse/storage/databases/main/events_forward_extremities.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
from typing import List, Dict
|
||||
|
||||
from synapse.storage._base import SQLBaseStore
|
||||
|
||||
|
||||
class EventForwardExtremitiesStore(SQLBaseStore):
|
||||
async def get_forward_extremities_for_room(self, room_id: str) -> List[Dict]:
|
||||
def get_forward_extremities_for_room_txn(txn):
|
||||
sql = (
|
||||
"SELECT event_id, state_group FROM event_forward_extremities NATURAL JOIN event_to_state_groups "
|
||||
"WHERE room_id = ?"
|
||||
)
|
||||
|
||||
txn.execute(sql, (room_id,))
|
||||
rows = txn.fetchall()
|
||||
return [{"event_id": row[0], "state_group": row[1]} for row in rows]
|
||||
|
||||
return await self.db_pool.runInteraction(
|
||||
"get_forward_extremities_for_room", get_forward_extremities_for_room_txn
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue