mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-12-15 23:53:51 -05:00
Merge branch 'rejections_storage' of github.com:matrix-org/synapse into replication_split
This commit is contained in:
commit
84b78c3b5f
52 changed files with 2372 additions and 315 deletions
|
|
@ -29,6 +29,8 @@ from .stream import StreamStore
|
|||
from .transactions import TransactionStore
|
||||
from .keys import KeyStore
|
||||
from .event_federation import EventFederationStore
|
||||
from .pusher import PusherStore
|
||||
from .push_rule import PushRuleStore
|
||||
from .media_repository import MediaRepositoryStore
|
||||
from .rejections import RejectionsStore
|
||||
|
||||
|
|
@ -61,6 +63,7 @@ SCHEMAS = [
|
|||
"state",
|
||||
"event_edges",
|
||||
"event_signatures",
|
||||
"pusher",
|
||||
"media_repository",
|
||||
]
|
||||
|
||||
|
|
@ -84,6 +87,8 @@ class DataStore(RoomMemberStore, RoomStore,
|
|||
EventFederationStore,
|
||||
MediaRepositoryStore,
|
||||
RejectionsStore,
|
||||
PusherStore,
|
||||
PushRuleStore
|
||||
):
|
||||
|
||||
def __init__(self, hs):
|
||||
|
|
@ -386,6 +391,41 @@ class DataStore(RoomMemberStore, RoomStore,
|
|||
events = yield self._parse_events(results)
|
||||
defer.returnValue(events)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_room_name_and_aliases(self, room_id):
|
||||
del_sql = (
|
||||
"SELECT event_id FROM redactions WHERE redacts = e.event_id "
|
||||
"LIMIT 1"
|
||||
)
|
||||
|
||||
sql = (
|
||||
"SELECT e.*, (%(redacted)s) AS redacted FROM events as e "
|
||||
"INNER JOIN current_state_events as c ON e.event_id = c.event_id "
|
||||
"INNER JOIN state_events as s ON e.event_id = s.event_id "
|
||||
"WHERE c.room_id = ? "
|
||||
) % {
|
||||
"redacted": del_sql,
|
||||
}
|
||||
|
||||
sql += " AND ((s.type = 'm.room.name' AND s.state_key = '')"
|
||||
sql += " OR s.type = 'm.room.aliases')"
|
||||
args = (room_id,)
|
||||
|
||||
results = yield self._execute_and_decode(sql, *args)
|
||||
|
||||
events = yield self._parse_events(results)
|
||||
|
||||
name = None
|
||||
aliases = []
|
||||
|
||||
for e in events:
|
||||
if e.type == 'm.room.name':
|
||||
name = e.content['name']
|
||||
elif e.type == 'm.room.aliases':
|
||||
aliases.extend(e.content['aliases'])
|
||||
|
||||
defer.returnValue((name, aliases))
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _get_min_token(self):
|
||||
row = yield self._execute(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue