mirror of
https://mau.dev/maunium/synapse.git
synced 2024-09-27 12:09:06 +02:00
b849e46139
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>
20 lines
754 B
Python
20 lines
754 B
Python
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
|
|
)
|