Remove send_message since nothing was calling it. Remove Snapshot because only send_message was using it
							parent
							
								
									c3eae8a88c
								
							
						
					
					
						commit
						627e4f01d2
					
				| 
						 | 
				
			
			@ -18,8 +18,6 @@ from twisted.internet import defer
 | 
			
		|||
from synapse.api.constants import EventTypes, Membership
 | 
			
		||||
from synapse.api.errors import RoomError
 | 
			
		||||
from synapse.streams.config import PaginationConfig
 | 
			
		||||
from synapse.util.logcontext import PreserveLoggingContext
 | 
			
		||||
 | 
			
		||||
from synapse.events.validator import EventValidator
 | 
			
		||||
 | 
			
		||||
from ._base import BaseHandler
 | 
			
		||||
| 
						 | 
				
			
			@ -66,35 +64,6 @@ class MessageHandler(BaseHandler):
 | 
			
		|||
 | 
			
		||||
        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
 | 
			
		||||
    def get_messages(self, user_id=None, room_id=None, pagin_config=None,
 | 
			
		||||
                     feedback=False):
 | 
			
		||||
| 
						 | 
				
			
			@ -212,13 +181,6 @@ class MessageHandler(BaseHandler):
 | 
			
		|||
            defer.returnValue(fb)
 | 
			
		||||
        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
 | 
			
		||||
    def get_state_events(self, user_id, room_id):
 | 
			
		||||
        """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):
 | 
			
		||||
    """ Get a filesystem path for the named database schema
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue