mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-25 11:59:24 -05:00
Move user_*_room distributor stuff to master class
I added yields when calling user_left_room, but they shouldn't matter on the master process as they always return None anyway.
This commit is contained in:
parent
b78717b87b
commit
82f16faa78
@ -116,6 +116,34 @@ class RoomMemberHandler(object):
|
|||||||
"""
|
"""
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
@abc.abstractmethod
|
||||||
|
def _user_joined_room(self, target, room_id):
|
||||||
|
"""Notifies distributor on master process that the user has joined the
|
||||||
|
room.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
target (UserID)
|
||||||
|
room_id (str)
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Deferred|None
|
||||||
|
"""
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
@abc.abstractmethod
|
||||||
|
def _user_left_room(self, target, room_id):
|
||||||
|
"""Notifies distributor on master process that the user has left the
|
||||||
|
room.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
target (UserID)
|
||||||
|
room_id (str)
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Deferred|None
|
||||||
|
"""
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _local_membership_update(
|
def _local_membership_update(
|
||||||
self, requester, target, room_id, membership,
|
self, requester, target, room_id, membership,
|
||||||
@ -178,12 +206,12 @@ class RoomMemberHandler(object):
|
|||||||
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
||||||
newly_joined = prev_member_event.membership != Membership.JOIN
|
newly_joined = prev_member_event.membership != Membership.JOIN
|
||||||
if newly_joined:
|
if newly_joined:
|
||||||
yield user_joined_room(self.distributor, target, room_id)
|
yield self._user_joined_room(target, room_id)
|
||||||
elif event.membership == Membership.LEAVE:
|
elif event.membership == Membership.LEAVE:
|
||||||
if prev_member_event_id:
|
if prev_member_event_id:
|
||||||
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
||||||
if prev_member_event.membership == Membership.JOIN:
|
if prev_member_event.membership == Membership.JOIN:
|
||||||
user_left_room(self.distributor, target, room_id)
|
yield self._user_left_room(target, room_id)
|
||||||
|
|
||||||
defer.returnValue(event)
|
defer.returnValue(event)
|
||||||
|
|
||||||
@ -460,12 +488,12 @@ class RoomMemberHandler(object):
|
|||||||
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
||||||
newly_joined = prev_member_event.membership != Membership.JOIN
|
newly_joined = prev_member_event.membership != Membership.JOIN
|
||||||
if newly_joined:
|
if newly_joined:
|
||||||
yield user_joined_room(self.distributor, target_user, room_id)
|
yield self._user_joined_room(target_user, room_id)
|
||||||
elif event.membership == Membership.LEAVE:
|
elif event.membership == Membership.LEAVE:
|
||||||
if prev_member_event_id:
|
if prev_member_event_id:
|
||||||
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
prev_member_event = yield self.store.get_event(prev_member_event_id)
|
||||||
if prev_member_event.membership == Membership.JOIN:
|
if prev_member_event.membership == Membership.JOIN:
|
||||||
user_left_room(self.distributor, target_user, room_id)
|
yield self._user_left_room(target_user, room_id)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _can_guest_join(self, current_state_ids):
|
def _can_guest_join(self, current_state_ids):
|
||||||
@ -811,6 +839,13 @@ class RoomMemberHandler(object):
|
|||||||
|
|
||||||
|
|
||||||
class RoomMemberMasterHandler(RoomMemberHandler):
|
class RoomMemberMasterHandler(RoomMemberHandler):
|
||||||
|
def __init__(self, hs):
|
||||||
|
super(RoomMemberMasterHandler, self).__init__(hs)
|
||||||
|
|
||||||
|
self.distributor = hs.get_distributor()
|
||||||
|
self.distributor.declare("user_joined_room")
|
||||||
|
self.distributor.declare("user_left_room")
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _remote_join(self, remote_room_hosts, room_id, user, content):
|
def _remote_join(self, remote_room_hosts, room_id, user, content):
|
||||||
"""Implements RoomMemberHandler._remote_join
|
"""Implements RoomMemberHandler._remote_join
|
||||||
@ -828,7 +863,7 @@ class RoomMemberMasterHandler(RoomMemberHandler):
|
|||||||
user.to_string(),
|
user.to_string(),
|
||||||
content,
|
content,
|
||||||
)
|
)
|
||||||
yield user_joined_room(self.distributor, user, room_id)
|
yield self._user_joined_room(user, room_id)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def _remote_reject_invite(self, remote_room_hosts, room_id, target):
|
def _remote_reject_invite(self, remote_room_hosts, room_id, target):
|
||||||
@ -862,6 +897,16 @@ class RoomMemberMasterHandler(RoomMemberHandler):
|
|||||||
rg = self.registration_handler
|
rg = self.registration_handler
|
||||||
return rg.get_or_register_3pid_guest(medium, address, inviter_user_id)
|
return rg.get_or_register_3pid_guest(medium, address, inviter_user_id)
|
||||||
|
|
||||||
|
def _user_joined_room(self, target, room_id):
|
||||||
|
"""Implements RoomMemberHandler._user_joined_room
|
||||||
|
"""
|
||||||
|
return user_joined_room(self.distributor, target, room_id)
|
||||||
|
|
||||||
|
def _user_left_room(self, target, room_id):
|
||||||
|
"""Implements RoomMemberHandler._user_left_room
|
||||||
|
"""
|
||||||
|
return user_left_room(self.distributor, target, room_id)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def forget(self, user, room_id):
|
def forget(self, user, room_id):
|
||||||
user_id = user.to_string()
|
user_id = user.to_string()
|
||||||
|
Loading…
Reference in New Issue
Block a user