Remove send_message since nothing was calling it. Remove Snapshot because only send_message was using it
This commit is contained in:
parent
c3eae8a88c
commit
627e4f01d2
|
@ -18,8 +18,6 @@ from twisted.internet import defer
|
||||||
from synapse.api.constants import EventTypes, Membership
|
from synapse.api.constants import EventTypes, Membership
|
||||||
from synapse.api.errors import RoomError
|
from synapse.api.errors import RoomError
|
||||||
from synapse.streams.config import PaginationConfig
|
from synapse.streams.config import PaginationConfig
|
||||||
from synapse.util.logcontext import PreserveLoggingContext
|
|
||||||
|
|
||||||
from synapse.events.validator import EventValidator
|
from synapse.events.validator import EventValidator
|
||||||
|
|
||||||
from ._base import BaseHandler
|
from ._base import BaseHandler
|
||||||
|
@ -66,35 +64,6 @@ class MessageHandler(BaseHandler):
|
||||||
|
|
||||||
defer.returnValue(None)
|
defer.returnValue(None)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def send_message(self, event=None, suppress_auth=False):
|
|
||||||
""" Send a message.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
event : The message event to store.
|
|
||||||
suppress_auth (bool) : True to suppress auth for this message. This
|
|
||||||
is primarily so the home server can inject messages into rooms at
|
|
||||||
will.
|
|
||||||
Raises:
|
|
||||||
SynapseError if something went wrong.
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.ratelimit(event.user_id)
|
|
||||||
# TODO(paul): Why does 'event' not have a 'user' object?
|
|
||||||
user = self.hs.parse_userid(event.user_id)
|
|
||||||
assert self.hs.is_mine(user), "User must be our own: %s" % (user,)
|
|
||||||
|
|
||||||
snapshot = yield self.store.snapshot_room(event)
|
|
||||||
|
|
||||||
yield self._on_new_room_event(
|
|
||||||
event, snapshot, suppress_auth=suppress_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
with PreserveLoggingContext():
|
|
||||||
self.hs.get_handlers().presence_handler.bump_presence_active_time(
|
|
||||||
user
|
|
||||||
)
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def get_messages(self, user_id=None, room_id=None, pagin_config=None,
|
def get_messages(self, user_id=None, room_id=None, pagin_config=None,
|
||||||
feedback=False):
|
feedback=False):
|
||||||
|
@ -212,13 +181,6 @@ class MessageHandler(BaseHandler):
|
||||||
defer.returnValue(fb)
|
defer.returnValue(fb)
|
||||||
defer.returnValue(None)
|
defer.returnValue(None)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def send_feedback(self, event):
|
|
||||||
snapshot = yield self.store.snapshot_room(event)
|
|
||||||
|
|
||||||
# store message in db
|
|
||||||
yield self._on_new_room_event(event, snapshot)
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def get_state_events(self, user_id, room_id):
|
def get_state_events(self, user_id, room_id):
|
||||||
"""Retrieve all state events for a given room.
|
"""Retrieve all state events for a given room.
|
||||||
|
|
|
@ -419,86 +419,6 @@ class DataStore(RoomMemberStore, RoomStore,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
def snapshot_room(self, event):
|
|
||||||
"""Snapshot the room for an update by a user
|
|
||||||
Args:
|
|
||||||
room_id (synapse.types.RoomId): The room to snapshot.
|
|
||||||
user_id (synapse.types.UserId): The user to snapshot the room for.
|
|
||||||
state_type (str): Optional state type to snapshot.
|
|
||||||
state_key (str): Optional state key to snapshot.
|
|
||||||
Returns:
|
|
||||||
synapse.storage.Snapshot: A snapshot of the state of the room.
|
|
||||||
"""
|
|
||||||
def _snapshot(txn):
|
|
||||||
prev_events = self._get_latest_events_in_room(
|
|
||||||
txn,
|
|
||||||
event.room_id
|
|
||||||
)
|
|
||||||
|
|
||||||
prev_state = None
|
|
||||||
state_key = None
|
|
||||||
if hasattr(event, "state_key"):
|
|
||||||
state_key = event.state_key
|
|
||||||
prev_state = self._get_latest_state_in_room(
|
|
||||||
txn,
|
|
||||||
event.room_id,
|
|
||||||
type=event.type,
|
|
||||||
state_key=state_key,
|
|
||||||
)
|
|
||||||
|
|
||||||
return Snapshot(
|
|
||||||
store=self,
|
|
||||||
room_id=event.room_id,
|
|
||||||
user_id=event.user_id,
|
|
||||||
prev_events=prev_events,
|
|
||||||
prev_state=prev_state,
|
|
||||||
state_type=event.type,
|
|
||||||
state_key=state_key,
|
|
||||||
)
|
|
||||||
|
|
||||||
return self.runInteraction("snapshot_room", _snapshot)
|
|
||||||
|
|
||||||
|
|
||||||
class Snapshot(object):
|
|
||||||
"""Snapshot of the state of a room
|
|
||||||
Args:
|
|
||||||
store (DataStore): The datastore.
|
|
||||||
room_id (RoomId): The room of the snapshot.
|
|
||||||
user_id (UserId): The user this snapshot is for.
|
|
||||||
prev_events (list): The list of event ids this snapshot is after.
|
|
||||||
membership_state (RoomMemberEvent): The current state of the user in
|
|
||||||
the room.
|
|
||||||
state_type (str, optional): State type captured by the snapshot
|
|
||||||
state_key (str, optional): State key captured by the snapshot
|
|
||||||
prev_state_pdu (PduEntry, optional): pdu id of
|
|
||||||
the previous value of the state type and key in the room.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, store, room_id, user_id, prev_events,
|
|
||||||
prev_state, state_type=None, state_key=None):
|
|
||||||
self.store = store
|
|
||||||
self.room_id = room_id
|
|
||||||
self.user_id = user_id
|
|
||||||
self.prev_events = prev_events
|
|
||||||
self.prev_state = prev_state
|
|
||||||
self.state_type = state_type
|
|
||||||
self.state_key = state_key
|
|
||||||
|
|
||||||
def fill_out_prev_events(self, event):
|
|
||||||
if not hasattr(event, "prev_events"):
|
|
||||||
event.prev_events = [
|
|
||||||
(event_id, hashes)
|
|
||||||
for event_id, hashes, _ in self.prev_events
|
|
||||||
]
|
|
||||||
|
|
||||||
if self.prev_events:
|
|
||||||
event.depth = max([int(v) for _, _, v in self.prev_events]) + 1
|
|
||||||
else:
|
|
||||||
event.depth = 0
|
|
||||||
|
|
||||||
if not hasattr(event, "prev_state") and self.prev_state is not None:
|
|
||||||
event.prev_state = self.prev_state
|
|
||||||
|
|
||||||
|
|
||||||
def schema_path(schema):
|
def schema_path(schema):
|
||||||
""" Get a filesystem path for the named database schema
|
""" Get a filesystem path for the named database schema
|
||||||
|
|
Loading…
Reference in New Issue